使用带有Access的OLEDB的.Net Windows应用程序

时间:2010-05-29 17:16:55

标签: c# .net windows ms-access

我正在尝试在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();

我尝试使用分号也仍然出错;

由于

1 个答案:

答案 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喜欢没有引号分隔符的数字。

祝你好运!