我可以';t执行SqlCommand
本文关键字:执行 SqlCommand 我可以 | 更新日期: 2023-09-27 18:26:53
大家好,我有这个代码
cmd = new SqlCommand();
cmd.Connection = baglanti;
cmd.CommandText = "(musteriadi,musterisoyadi,gsm,email,sirketadi,Adres,Notlar) VALUES('" + txtMusteriAdi.Text.Trim() + "','" + txtMusteriSoyadi.Text.Trim() + "','" + txtGsm.Text.Trim() + "','" +txtEmail.Text.Trim() + "','" +txtSirketAdi.Text.Trim() + "','" +txtAdres.Text.Trim() + "','" +txtNotlar.Text.Trim() +"');";
baglanti.Open();
cmd.ExecuteNonQuery();
baglanti.Close();
我将cmd定义为public SqlCommmand
,每次代码到达cmd.ExecuteNonQuery()
时,它都会捕获我能做什么。
因为您忘记了语句的INSERT INTO
部分。喜欢
INSERT INTO tableName(musteriadi,musterisoyadi,gsm,email,sirketadi,Adres,Notlar)
但更重要的是,您应该始终使用参数化查询。这种字符串串联对SQL注入攻击是开放的。
还可以使用using
语句处理连接,并自动命令,而不是手动调用Close
方法。
using(var baglanti = new SqlConnnection(yourConnectionString))
using(var cmd = baglanti.CreateCommand())
{
cmd.CommandText = @"INSERT INTO tableName(musteriadi,musterisoyadi,gsm,email,sirketadi,Adres,Notlar)
VALUES(@ad, @soyad, @gsm, @email, @sirket, @adres, @notlar)";
// Add your parameters values with Add method considering their types and size.
baglanti.Open();
cmd.ExecuteNonQuery();
}