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()
次のように、2 番目の値を 2 つの値に分ける必要があると思います。
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 に答える