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();
}
4

2 回答 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 回答