与MySQL DB的ODBC.Net连接问题

时间:2010-10-01 22:11:07

标签: asp.net mysql odbc

我认为这里的问题是我的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,该数据库托管在我的计算机上。

当我运行应用程序时,我收到此错误:

  

错误[42000] [MySQL] [ODBC 3.51驱动程序] [mysqld-5.1.51-community]您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在'key,secretkey,uid'附近使用正确的语法VALUES(第1行的'127090765-i3aZl71LPSVUCPZs9kHSYeBli0vWpbq0BaM1roYC'

但是对于我的生活,我无法弄清楚我的语法有什么问题...这很简单,但同样,我需要一双新眼睛看这个。

1 个答案:

答案 0 :(得分:0)

key可能是一个保留词。在MySQL中,你可以通过在列名称周围添加反引号(`)来解决这个问题(所以'`key`'而不是'key'),但你应该尽量不要将保留字作为实体名称。