我认为这里的问题是我的SQL语法,但我不确定,需要一双新的眼睛来检查它。这是我用来连接到的代码,然后插入到DB中:
OdbcConnection datConn = CreateDataConn();
datConn.Open();
OdbcCommand comm = new OdbcCommand();
comm.CommandText = "INSERT INTO userdata (key, secretkey, uid) VALUES ('" + token + "', '" + secret + "', '" + twitterid + "');";
comm.Connection = datConn;
comm.ExecuteNonQuery();
datConn.Close();下面是CreatDataConn()方法:
private OdbcConnection CreateDataConn()
{
OdbcConnection dbConn = new OdbcConnection();
dbConn.ConnectionString = "Dsn=MySQL;database=twittertest;option=0;port=0;server=localhost;uid=root;pass=Red!4jedi";
return dbConn;
}我为数据库创建了DSN,数据库托管在我的机器上。
当我运行应用程序时,我会得到以下错误:
server 42000ODBC3.51在('127090765-i3aZl71LPSVUCPZs9kHSYeBli0vWpbq0BaM1roYC‘语法中出现错误;请检查与MySQL服务器版本对应的手册,以获得在第1行使用“键、秘钥、uid”值的正确语法
但对于我的生活,我不知道我的语法出了什么问题.这很简单,但我还是需要一双新的眼睛来观察这个问题。
发布于 2010-10-01 23:16:22
key可能是一个保留词。在MySQL中,您可以通过添加backticks () around a column name (so 'key‘而不是'key')来解决这个问题,但是您应该尽量不要将保留的单词作为实体名。
https://stackoverflow.com/questions/3843362
复制相似问题