Публикация

Как выполнить произвольный SQL запрос с параметрами на C#?

Вопрос: Как выполнить произвольный SQL запрос с параметрами на C#?

Ответ:

try {
   string sqlQuery = "select FieldName from TableName where Id=@Id";
   Terrasoft.DB.MSSql.MSSqlExecutor msex = new Terrasoft.DB.MSSql.MSSqlExecutor(UserConnection);
   QueryParameterCollection qpc = new QueryParameterCollection();
   qpc.Add("Id", "2c2aa51a-4354-4b04-94df-c8a9d9bca46e");
   using (IDataReader dataReader = msex.ExecuteReader(sqlQuery, qpc))
   {
        while (dataReader.Read())
        {
            Console.WriteLine(dataReader.GetColumnValue<DataType>("FieldName"));
        }
    }
}
catch (Exception e) {
       throw;
}

 

Нравится

Поделиться

4 комментария

Можно ещё просто распарсить строку sqlQuery и в неё подставить нужные значения.

Но все зависит от того, какой запрос нужно выполнить.

Приведите, пожалуйста, пример кода.

Так же можно воспользоваться классом Select

Есть альтернативный способ: 

var userConnection = Get<UserConnection>("UserConnection");
string sql =" ......."; 
 
CustomQuery myQuery = new CustomQuery(userConnection);
myQuery .SqlText = sql;
using (DBExecutor dbExecutor = userConnection.EnsureDBConnection())
{
    dbExecutor.CommandTimeout = 0;
    myQuery .Execute();
}

Оригинальный пост: https://community.terrasoft.ru/questions/polucit-stroku-podklucenia-k-bd-dla-zaprosa-statnymi-sredstvami-visual-studio

Показать все комментарии