Je tente d'ajouter des éléments à une base de données Access en C#. J'ai le code qui semble fonctionner (je peux ouvrir et fermer une base de données), mais l'événement de clic de bouton produit des erreurs. J'ai cherché sur Google pour toute l'après-midi, mais pas de joie. Mon code est:Ajout d'enregistrements à la base de données MS Access via C#
private void button26_Click(object sender, EventArgs e)
{ //Setup tab LoadDatabase
try
{
connection.Open();
button26.ForeColor = Color.Lime;
mainDataGridView.Visible = true;
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = "INSERT INTO Main('Prop', 'Value', 'Default','Type') VALUES('one', 'Kelly', 'Jill','one')";
cmd.ExecuteNonQuery();
button26.Text = "Done Insert";
connection.Close();
}
catch (Exception ex)
{
richTextBox1.Text=("Error "+ex);
button26.ForeColor = Color.Black;
connection.Close();
}
}
Et l'erreur que je reçois est:
erreur System.InvalidOperationException: ExecuteNonQuery: propriété de connexion n'a pas été initialisé.
à System.Data.OleDb.OleDbCommand.ValidateConnection (méthode String)
à System.Data.OleDb.OleDbCommand.ValidateConnectionAndTransaction (méthode String)
? à System.Data.OleDb.OleDbCommand.ExecuteReaderInternal (Comportement CommandBehavior, méthode String)
à System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
à CrewCheifSettingsBeta3.Form1.button26_Click (expéditeur d'objet, EventArgs e) dans C: \ Somepath \ Form1.cs: ligne 49
Il est évident que quelque chose ne va pas avec la chaîne de connexion, et qu'elle n'est pas non plus à l'épreuve de l'injection SQL.
Une commande à exécuter doit savoir quelle connexion doit être utilisée. Vous ne définissez aucune connexion à votre commande – Steve
il ne compilera pas conn.Open(); OleDbCommand cmd = new OleDbCommand(); connection.CreateCommand(); cmd.CommandText = "INSERT INTO Main ('Prop', 'Value', Default ',' Type ') VALEURS (' one ',' Kelly ',' Jill ',' one ')"; cmd.ExecuteNonQuery(); button26.Text = "Terminé Insérer"; conn.Fermer(); @Steve – Data
écrous aux 4 commentaires de code espace :) – Data