Insertion de valeurs dans une base de données SQL Server à l'aide de ado.net via C#
J'ai créé un programme simple pour insérer des valeurs dans la table [regist]
, mais je reçois l'erreur
Syntaxe incorrecte près de ')'
sur cmd.ExecuteNonQuery();
:
private void button1_Click(object sender, EventArgs e)
{
SqlConnection cn = new SqlConnection("Data Source=DELL-PC;initial catalog=AdventureWorks2008R2 ; User ID=sa;Password=sqlpass;Integrated Security=SSPI;");
SqlCommand cmd = new SqlCommand("INSERT INTO dbo.regist (" + " FirstName, Lastname, Username, Password, Age, Gender,Contact, " + ") VALUES (" + " @textBox1.Text, @textBox2.Text, @textBox3.Text, @textBox4.Text, @comboBox1.Text,@comboBox2.Text,@textBox7.Text" + ")", cn);
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
}
Je suis nouveau à cela et je suis vraiment confus.
Êtes-vous sûr que vous avez besoin de nommer les paramètres tels que?
OriginalL'auteur thegreekgod | 2012-11-26
Vous devez vous connecter pour publier un commentaire.
Comme je l'ai dit dans les commentaires, vous devriez toujours utilisez les paramètres de votre requête JAMAIS concaténer ensemble vos instructions SQL vous-même.
Aussi: je vous conseille de séparer le gestionnaire d'événements click de le code à insérer les données.
Donc, je voudrais réécrire votre code doit être quelque chose comme
Dans votre page web fichier code-behind (
yourpage.aspx.cs
)Dans d'autres codes (par exemple, un
databaselayer.cs
):Code comme ceci:
OriginalL'auteur marc_s
Supprimer la virgule
@textBox1.Text
ne serait pas valide paramètre SQL.OriginalL'auteur juergen d
Code suivant fonctionne pour "Insertion de valeurs dans une base de données SQL Server à l'aide de ado.net via C#"
OriginalL'auteur UJS
OriginalL'auteur jeetendra negi
vous devez supprimer la dernière virgule et comme nrodic dit que votre commande n'est pas correcte.
vous devez le modifier comme ceci :
OriginalL'auteur Arash