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();
}
答案 0 :(得分: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);
答案 1 :(得分: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);
查看如何使用 MSDN 中的 INSERT 。
请记住,始终使用 parameterized SQL
查询。您的代码是针对 SQL Injection 攻击开放的。