【问题标题】:How to insert bind column and unbind column datagridview values in database如何在数据库中插入绑定列和取消绑定列datagridview值
【发布时间】:2014-12-28 22:43:54
【问题描述】:

我正在将 datagirdview 列值插入数据库。 Datagridview 有 4 列 第一列绑定到数据库表。我已经编写了这个查询来将所有这些数据插入到我的表中,但是我收到错误“无效的列名'w'”。有人帮我弄清楚。在数据库表中,我有这些列:SupplierId、Item、Quantity、PricePerItem、Total、BillNo ..我使用的查询是:

string q = @" INSERT INTO PurchaseInvo(SupplierId,Item,Quantity,PricePerItem,Total,BillNo) VALUES (" + comboBox1.Text + ", " + dataGridView1.Rows[i].Cells["Item"].Value + ", " + dataGridView1.Rows[i].Cells["Quantity"].Value + ", " + dataGridView1.Rows[i].Cells["PricePerItem"].Value + ", " + dataGridView1.Rows[i].Cells["Total"].Value + ", " + bill + ")";

【问题讨论】:

  • 贴出实际的sql语句?

标签: c# datagridview


【解决方案1】:
string q = 
@" INSERT INTO PurchaseInvo 
         (SupplierId, Item, Quantity, PricePerItem, Total, BillNo) 
    VALUES 
         (@SupplierID, @Item, @Quantity, @PricePerItem, @Total, @Bill)";

SqlCommand cmd = new SqlCommand(q, connectionString);

cmd.Parameters.AddWithValue("@SupplierID", comboBox1.Text);
cmd.Parameters.AddWithValue("@Item", dataGridView1.Rows[i].Cells["Item"].Value);
cmd.Parameters.AddWithValue("@Qauntity", dataGridView1.Rows[i].Cells["Quantity"].Value);
cmd.Parameters.AddWithValue("@PricePerItem", dataGridView1.Rows[i].Cells["PricePerItem"].Value);
cmd.Parameters.AddWithValue("@Total", dataGridView1.Rows[i].Cells["Total"].Value);
cmd.Parameters.AddWithValue("@Bill", bill);

cmd.ExecuteNonQuery();

您应该始终使用 sql 命令参数。这将防止您进行 sql 注入以及此类错误。这样写的代码应该可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多