Здравствуйте, передаю параметры в sql-запрос используя драйвер npgsql:
SqlCommand = new NpgsqlCommand(); .... SqlCommand.CommandText = "SELECT id,name FROM table1 WHERE field1=:_param2 ORDER BY name;"; SqlCommand.Parameters.AddWithValue("_param2", 1);
В таком виде все прекрасно выполняется и выдаются необходимые данные, но как только я добавляю в sql-запрос параметр в раздел "select"
SqlCommand.CommandText = "SELECT id,name :_param1 FROM table1 WHERE field1=:_param2 ORDER BY name;"; SqlCommand.Parameters.AddWithValue("_param1", ",field1"); SqlCommand.Parameters.AddWithValue("_param2", 1);
выдается какая-то галиматья. По идее этот запрос на сервере должен обработаться как
SELECT id,name,field1 FROM table1 WHERE field1=1 ORDER BY name;
SELECT id,name :_param1 FROM
SELECT id,name :_param1 FROM table1 WHERE field1=:_param2 ORDER BY name;
Как видно, в вашем запросе "name :_param1" отсутствует "," - запятая.
запятая "," присутствует в
запятая "," присутствует в передаваемом значении
SqlCommand.Parameters.AddWithValue("_param1", ",field1");
0_o Это же передаваемые
0_o
Это же передаваемые параметры, они не конкатенируют текст запроса!
Если тебе нужно собирать запрос, то ты так и должен делать:
Ясно?
ага, спасибо
ага, спасибо