2014-07-05 5 views
0

Je reçois cette erreur dans le projet Visual Studio 2010 C#. J'ai utilisé la version du pilote Mysql 6.8.3.0 pour établir la connexion au serveur mysql (qui a été créé via mysql workbench 6.1) et la connexion au serveur mysql a été établie avec succès (qui a été créée via visual studio) mais une erreur survient lorsque mon logiciel fonctionne. Je recherche sur Internet a révélé que le problème de connexion à distance est le problème. Mais si ma connexion établie bien cela ne peut pas être le problème et selon l'erreur son dire que certains problème dans SQL requête. Mais il s'agit d'une simple instruction select (SELECT * FROM case). Toute solution ou suggestion est appréciée.Erreur dans Mysql dans Visual Studio 2010

using (MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader()) dans la section de code suivante.

String connectionString = "server = localhost; user id = XXX; password = XXX; database = XXXX"; 

     MySqlConnection connection = new MySqlConnection(connectionString); 
     connection.Open(); 
     String searchString = "SELECT * FROM case" ; 
     using (MySqlCommand mySqlCommand = new MySqlCommand(searchString, connection)) 
      { 
       // mySqlCommand.Parameters.AddWithValue("@caseId", textBox1.Text); 
       using (MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader()) 
       { 
        String sb; 
        sb = mySqlDataReader.GetInt32(0).ToString(); 
        MessageBox.Show(sb); 

La partie d'erreur que j'obtiens est celle-ci.

MySql.Data.MySqlClient.MySqlException was unhandled 
Message=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 'case' at line 1 
Source=MySql.Data 
ErrorCode=-2147467259 Number=1064 StackTrace: 
    at MySql.Data.MySqlClient.MySqlStream.ReadPacket() 
    at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId) 
    at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId) 
    at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force) 
    at MySql.Data.MySqlClient.MySqlDataReader.NextResult() 
    at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) 
    at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader() 
    at CaseFinder.Form1.button1_Click(Object sender, EventArgs e) in 
+1

cas est un mot-clé dans une base MySQL – Sajeetharan

+0

Thanx Sajeetharan je ne savais pas que. Cela pourrait être la raison de l'erreur. – user2474358

+0

Cela et votre requête sql manquent un point-virgule de terminaison. MySql nécessite; à la fin de chaque opération. Remplacez par Chaîne searchString = "SELECT * FROM mycase;"; // Renommer le cas en mycase Changer le nom de la table –

Répondre

0

CASE est un mot clé dans MySQL. Essayez de l'envelopper avec des accents graves (`) si vous vouliez dire de choisir parmi une table nommée « cas », par exemple:

String searchString = "SELECT * FROM `case`" ;