L'opération doit utiliser une requête qui peut être mise..

Levotre123 - 13 févr. 2015 à 08:38
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 13 févr. 2015 à 09:19
Bonjour,

Les amis j'ai un soucis avec mon code. Je suis entrain de travailler avec C# et Excel comme base de données. J'ai reçois un message d'erreur du genre : L'opération doit utiliser une requête qui peut être mise.. et voici le code d'insertion des données :
try
{
string DB_Path = @"C:\Users\Trevor\Desktop\APPLI\Dolphin.xls;Extended Properties=Excel 8.0;";
string Con_Str = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DB_Path + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";";
DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb");
DbConnection connection = factory.CreateConnection();
connection.ConnectionString = Con_Str;
DbCommand command = connection.CreateCommand();
command.CommandText = "INSERT INTO [Utilisateurs$]VALUES(4,"Tampa","Florida")";
connection.Open();
int result = command.ExecuteNonQuery();

if( result > 0)
{
MessageBox.Show("OK");

}


}
catch (OleDbException eo)
{
MessageBox.Show(eo.Message.ToString());

}


Quelqu'un de clairvoyant pourrait m'indiquer la source de mon erreur ?
Bien merci d'avance

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
13 févr. 2015 à 09:19
Bonjour,

Tu utilises des guillemets pour entourer ta requete..mais aussi pour tes variables ...
command.CommandText = "INSERT INTO [Utilisateurs$]VALUES(4,"Tampa","Florida")";
                connection.Open();

Il faut remplacer, à l'interieur, par des quotes...
command.CommandText = "INSERT INTO [Utilisateurs$]VALUES(4,'Tampa','Florida')";
                connection.Open();

0