views:

34

answers:

1

I'm thinking the problem here is with my SQL Syntax, but I'm not sure and need a fresh pair of eyes to check it out. This is the code I'm using to connect to and then insert into the 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();

And here is the CreatDataConn() method:

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;

    }

I created a DSN to the database, which is hosted on my machine.

When I run the application I get this error:

ERROR [42000] [MySQL][ODBC 3.51 Driver][mysqld-5.1.51-community]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key, secretkey, uid) VALUES ('127090765-i3aZl71LPSVUCPZs9kHSYeBli0vWpbq0BaM1roYC' at line 1

But for the life of me I can't figure out what's wrong with my syntax...It's prolly something simple, but again, I need a pair of fresh eyes to look at this.

A: 

key is a probably a reserved word. in MySQL, you can get around this by adding backticks (`) around a column name (so '`key`'instead of 'key'), but you should try not to have reserved words as entity names.

Wrikken
Thanks! That worked!
CrowderSoup