2015-12-15 58 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

我已經發布了你可以檢查這個代碼請 –