2013-02-14 78 views
0
foreach (ListViewItem l in lvSA.Items) 
{ 
     SqlConnection con = new SqlConnection("data source = .; database = ePartyDatabase; integrated security = true"); 
     con.Open(); 

     SqlCommand cmd = new SqlCommand("insert into PARTY_ROOMS(PR_ROOMNO,PR_RATES,PR_REMARK) values(" + l.SubItems[1].ToString() + "," + l.SubItems[3].ToString() + l.SubItems[4].ToString(), con); 

     cmd.ExecuteNonQuery(); 

     con.Close(); 
} 
+2

你的問題是?請閱讀http://tinyurl.com/so-list(並使用參數化SQL - 您當前的代碼容易受到SQL注入攻擊) – 2013-02-14 09:59:11

+2

您錯過了'「,」' – 2013-02-14 09:59:13

+2

**您的問題是什麼?**哪一行會拋出一個例外或給出錯誤?更具體的.. – 2013-02-14 09:59:30

回答

1

它應該是:

SqlCommand cmd = new SqlCommand("insert into PARTY_ROOMS(PR_ROOMNO,PR_RATES,PR_REMARK) values('" + l.SubItems[1].Text + "','" + l.SubItems[3].Text + "','" + l.SubItems[4].Text + "')", con); 

+0

編譯我的代碼後,我得到「不正確的語法靠近'ListViewSubItem:{104}'。」 – 2013-02-14 10:06:58

+0

對不起,是的,它是工作.... – 2013-02-14 10:08:31

+0

安德烈我得到這個輸出通過lisview- – 2013-02-14 10:14:37

0

既然你給了我們一些信息,我假設你的SqlCommand有一些問題。您嘗試插入3列(PR_ROOMNO,PR_RATES,PR_REMARK),但是在您的VALUES部分中,您有2個值;

  • l.SubItems[1].ToString()
  • l.SubItems[3].ToString() + l.SubItems[4].ToString()

我想你需要你的第二個值單獨對兩個值,等等;

values('" + l.SubItems[1].ToString() + "','" + l.SubItems[3].ToString() + "','" + l.SubItems[4].ToString() + "')", con); 

退房瞭如何使用INSERTMSDN

請記住,總是使用parameterized SQL查詢。您的代碼對於SQL Injection攻擊是開放的。

+0

感謝您的回覆先生,但我得到了輸出。 – 2013-02-14 10:21:19

相關問題