Как вставить в базу данных SQL транзакции? - PullRequest
0 голосов
/ 05 октября 2019

У меня есть метод Log:

public void Log(string log)
{
   command = new SqlCommand() { Connection = connection };
   command.CommandText = "INSERT INTO Logs (Date, Login, Transact) " +
      $"VALUES ('{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")}', '{Login}', '{log}')";
   connection.Open();
   command.ExecuteNonQuery();
   connection.Close();
}

В строке журнала у меня есть такое значение:

"INSERT '/*something*/'"

или

"UPDATE: '/*smth*/' => '/*smth*/'"

Но это не работает - я получаю сообщение об ошибке:

Неверный синтаксис

Как я могу это сделать?

1 Ответ

1 голос
/ 05 октября 2019
command.CommandText = "INSERT INTO Logs (Date, Login, Transact) " +
   $"VALUES (@date, @login, @transact)";
command.Parameters.Add("@date", SqlDbType.DateTime).Value = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
command.Parameters.Add("@login", SqlDbType.NChar).Value = Login;
command.Parameters.Add("@transact", SqlDbType.Text).Value = log;
...