вставка новых данных в доступ - PullRequest
0 голосов
/ 04 октября 2011

Я хотел бы вставить новую строку данных в мой 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 Ответ

0 голосов
/ 04 октября 2011

выглядит как простая ошибка в вашем запросе ..

если пользователь - строка (не знаю об остальном), она должна быть просто заключена в кавычки

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

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

OleDbCommand ins = new OleDbCommand(insertString, objConnection );
...