2010-10-01 4 views
0

Je pense que le problème ici est avec ma syntaxe SQL, mais je ne suis pas sûr et j'ai besoin d'une nouvelle paire d'yeux pour le vérifier. Voici le code que je utilise pour se connecter et puis insérez dans le DB:Problème avec la connexion ODBC.Net à la base de données MySQL

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(); 

Et voici la méthode 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; 
} 

J'ai créé une source de données à la base de données, est hébergé sur ma machine.

Quand je lance l'application je reçois cette erreur:

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

Mais pour la vie de moi je ne peux pas comprendre ce qui ne va pas avec ma syntaxe ... Il est prolly quelque chose de simple, mais encore une fois, je besoin d'une paire d'yeux frais pour regarder cela.

Répondre

0

key est probablement un mot réservé. dans MySQL, vous pouvez contourner ce problème en ajoutant des backticks (`) autour d'un nom de colonne (donc '' key` 'au lieu de' key '), mais vous devriez essayer de ne pas avoir de mots réservés comme noms d'entités.

+0

Merci! Ça a marché! – CrowderSoup

Questions connexes