Ниже мой SQL-запрос:
select *
from Table
where col1 = @param1 and col2 = @param2
Теперь я хочу выполнить этот SQL-запрос, но меня просто интересует получение столбцов из запроса, а не каких-либо записей.
Я знаю, что могу манипулировать этим SQL-запросом, находя и удаляя все параметризованные параметры, но я просто думаю, есть ли способ игнорировать все эти параметры и просто выполнить (select * from Table
).
Вот как я это делаю прямо сейчас:
TCommand cmd = new TCommand();
cmd.CommandText = sqlQuery;
cmd.Connection = connection;
using (var reader = cmd.ExecuteReader())
{
reader.Read();
var columns = reader.GetSchemaTable().AsEnumerable()
.Select(col => col["ColumnName"].ToString())
.ToArray();
return columns;
}
Я получаю эту ошибку:
Необходимо объявить скалярную переменную "@param1"
Я хочу игнорировать этот параметр при выполнении SQL-запроса. Есть ли способ заставить ADO.NET игнорировать параметр моего запроса и просто выполнить запрос?