OLEDB SQL语法错误,我看不到
我试图发送一个新的用户在我的C#程序到数据库(MSAccess在这种情况下)。我创建的字符串如下...OLEDB SQL语法错误,我看不到
String StrCmd = String.Format("INSERT INTO tbl_Users (Username, Password, IsAdmin) VALUES ('{0}', '{1}', {2});", Username, passwordHash, AdminPower); 这将创建一个SQL字符串,例如...
INSERT INTO tbl_Users (Username, Password, IsAdmin) VALUES ('TestUser', '1013638657', False); 
,如果我把它粘贴到MSACCESS查询这工作得很好,但在代码我不断得到一个Syntax error in INSERT INTO statement.错误。
任何人都可以看到明显的东西我失踪?
其它信息:
Username和passwordHash是字符串,AdminPower是一个布尔值。
Username和Password是文本字段,IsAdmin是是/否字段。
关注代码块...
OleDbConnection MyConn = new OleDbConnection(Program.ConnStr); MyConn.Open(); 
String StrCmd = String.Format("INSERT INTO tbl_Users (Username, Password, IsAdmin) VALUES ('{0}', '{1}', {2});", Username, passwordHash, AdminPower); 
OleDbCommand Cmd = new OleDbCommand(StrCmd, MyConn); 
Cmd.ExecuteNonQuery(); 
MyConn.Close(); 
回答:
试试这个'{2}':
String StrCmd = String.Format("INSERT INTO tbl_Users (Username, Password, IsAdmin) VALUES ('{0}', '{1}', '{2}');", Username, passwordHash, AdminPower); 回答:
Facepalms我注意到的保留字我检查是为SQL-Sever的的名单。我发现一个用于MSAccess和“密码”是Access中的保留字...我将其更改为UserPassword,并且它可以正常工作...
grrr。
以上是 OLEDB SQL语法错误,我看不到 的全部内容, 来源链接: utcz.com/qa/259542.html

