我正在尝试在Windows应用程序中使用OLEDB在MS Access DB中插入记录。
我收到错误“在sql语句结束时缺少分号”sql insert statment中没有语法错误。
我的代码
这是我正在使用的插入语句:
INSERT INTO Student
VALUES ('SRI-10-101','001','guru','30/05/2010 12:00:00 AM','','','','','','','600028','','','','','','','30/05/2010 11:25:44 AM','');
以及代码:
conn = this.GetConnection();// which returns Connection object
tran = conn.BeginTransaction();
OleDbCommand cmd = conn.CreateCommand();
cmd.Connection = conn;
cmd.CommandText = strQuery;// Insert statement
cmd.CommandType = CommandType.Text;
cmd.Transaction = tran;
cmd.ExecuteNonQuery();
tran.Commit();
我尝试使用分号也仍然出错;
由于
答案 0 :(得分:0)
看起来您想要将strQuery设置为insert语句的值。
根据您的代码,它应该如下所示:
string strQuery = "INSERT INTO Student
VALUES ('SRI-10-101','001','guru','30/05/2010 12:00:00 AM','','','','','','','600028','','','','','','','30/05/2010 11:25:44 AM','')";
与往常一样,您应该验证您是否已连接并默认为正确的数据库(或在表名之前明确指定它(即MyAwesomeDatabase.dbo.Student)。
最后看起来你也试图插入一个数字作为字符数组('001'或'600028'),如果你的数据库中的字段是数字类型,那么SQL喜欢没有引号分隔符的数字。
祝你好运!