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();
}
问问题
1776 次
2 回答
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);
?
于 2013-02-14T10:02:59.220 回答
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 注入攻击是开放的。
于 2013-02-14T10:06:32.657 回答