вставка новых данных в access

#c# #insert #oledb

#c# #вставить #oledb

Вопрос:

Я хотел бы вставить новую строку данных в свой oledb. Я просто структурировал свои коды так, как я это делал с помощью UPDATE. Однако возникает ошибка с OleDbCommand ins = new OleDbCommand(insertString, strOleDbConnectionString);

Как это на самом деле работает без использования адаптеров таблиц или параметров и т. Д.?

         string strOleDbConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Project.mdb";
        OleDbConnection objConnection = new OleDbConnection(strOleDbConnectionString);

        string insertString = "INSERT INTO jiahe ([Tag ID], User, Age, [Phone Number]) VALUES (123, Esther, 19, 92786618)";
        string newTagID = textBox1.Text;
        string newUser = textBox2.Text;
        string newAge = textBox3.Text;
        string newPhoneNumber = textBox4.Text;

        OleDbCommand ins = new OleDbCommand(insertString, strOleDbConnectionString);

        ins.Connection.Open();

        ins.ExecuteNonQuery().ToString();

        ins.Connection.Close();
  

Комментарии:

1. разве Эстер не должна быть одинарной qouted «Эстер»?

Ответ №1:

похоже на простую ошибку в вашем запросе..

если User — это строка (не знаю об остальных), она должна быть просто заключена в кавычки

 "INSERT INTO jiahe ([Tag ID], User, Age, [Phone Number]) VALUES (123, 'Esther', 19, 92786618)"
  

Кроме того, команда oledbcommand получает объект подключения, а не строку подключения. попробуйте с

 OleDbCommand ins = new OleDbCommand(insertString, objConnection );