Member 14120682 Ответов: 1

Необходимо объявить скалярную переменную "@diagnostic_data".


SqlCommand cmd = new SqlCommand("SELECT @Diagnostic_Data FROM Table_2", conn);

УМК.Свойство Commandtype = Значение Commandtype.Текст;

SqlDataAdapter da = новый SqlDataAdapter(cmd);

DataSet ds = новый набор данных();

да.Заполнить(ДС, "Table_2");
Коннектикут.Открыть();
dataGridView1.DataSource = ds.Tables["Table_2"];

Что я уже пробовал:

SqlCommand cmd = new SqlCommand("SELECT @Diagnostic_Data FROM Table_2", conn);

            cmd.CommandType = CommandType.Text;

            SqlDataAdapter da = new SqlDataAdapter(cmd);

            DataSet ds = new DataSet();

            da.Fill(ds, "Table_2");
            conn.Open();
            dataGridView1.DataSource = ds.Tables["Table_2"];

1 Ответов

Рейтинг:
1

OriginalGriff

Это, вероятно, совсем не то, что вы хотели сделать.
"@Diagnostic_Data" - это переменная в SQL, поэтому она не "исходит из таблицы" - она имеет одно значение и не связана ни с какими табличными данными.
Так что пишу "SELECT @Diagnostic_Data FROM Table_2"на практике это ничего не значит, и даже если бы это было так, вам пришлось бы сначала получить значение в SQL, что означает передачу спецификации параметра и значения объекту SqlCommand:

cmd.Parameters.AddWithValue("@Diagnostic_Data", myValueForTheVariable);

Если только вы не добавили столбец в свою таблицу Table_2 с именем "@Diagnostic_Data", то в этом случае немедленно измените его имя и никогда больше не называйте столбец чем-либо, начинающимся с"@"...

Я не знаю, что вы ожидали получить от SQL, но если вам нужны все строки из таблицы, то попробуйте
SELECT MyColumn1, MyColumn2 FROM Table_2
Или
SELECT * FROM Table_2
Хотя в реальном мире это не одобряется, он будет работать и вернет все столбцы в таблице.
Если вам нужны только строки, где строка соответствует значению, то используйте
SELECT MyColumn1, MyColumn2 FROM Table_2 WHERE TheColumnToMatchOn = @KEYVALUE
И передайте "@KEYVALUE" viqa параметр, как показано выше.

Если вы хотите чего-то еще, то вам придется описать именно то, что вы хотите, в хороших деталях!