2015-12-15 57 views
0

好家伙我有这个代码我无法执行的SqlCommand

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()

+0

“它抓住我能做什么”?你有例外吗?如果是这样,它是什么? – HimBromBeere

+0

下次,请考虑更清楚_it falls_部分。解释一下你的意思。把你的错误或异常消息,如果你得到一个。尽可能清楚。看看[常见问题]和[问]几次.. –

回答

7

因为您忘记了INSERT INTO部分供您发言。喜欢;

INSERT INTO tableName(musteriadi,musterisoyadi,gsm,email,sirketadi,Adres,Notlar) 

但更重要的是,你应该总是使用parameterized queries。这种字符串连接对于SQL Injection攻击是开放的。

还可以使用using statement处置你的连接,并自动指挥代替手动调用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(); 
} 
+0

当它来执行查询时它仍然下降豁免:( –

+0

@alidurgun你是否真的确定你正确添加你的参数值?你有任何异常或错误信息?请分享这种信息。 –

+0

我已经发布了你可以检查这个代码请 –