【发布时间】:2015-03-15 09:10:52
【问题描述】:
我正在创建发票窗口表单应用程序,但出现
的错误object 不包含 Item_Id 的定义并且没有扩展名 接受“object”类型的第一个参数的方法“Item_Id”可以是 找到(您是否缺少 using 指令或程序集引用)
以下代码
private void StoreData()
{
int invoiceID;
// int Item_Id;
// int quantity;
using (var con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\oo\Documents\Data.mdf;Integrated Security=True;Connect Timeout=30"))
{
con.Open();
using (var cmd = con.CreateCommand())
{
cmd.CommandText = @"insert into Invoice(subtotal,tax,total) values (@subtotal,@tax,@total); select SCOPE_IDENTITY() as InvoiceID;";
cmd.Parameters.AddWithValue("@subtotal", subtotal);
cmd.Parameters.AddWithValue("@tax", totalTaxes);
cmd.Parameters.AddWithValue("@total", total);
using (var reader = cmd.ExecuteReader())
{
if (reader.Read())
//invoiceID = cmd.GetInt32("InvoiceID");
invoiceID = (int)reader["InvoiceID"];
}
}
foreach (var item in OrderItems.Rows)
{
using (var cmd = con.CreateCommand())
{
cmd.CommandText = @"insert into InvoiceItem(InvoiceID,ItemID,quantity) values (@InvoiceID,@ItemID,@quantity);";
cmd.Parameters.AddWithValue("@InvoiceID", invoiceID);
cmd.Parameters.AddWithValue("@ItemID", item.Item_Id);
cmd.Parameters.AddWithValue("@quantity", item.quantity);
cmd.ExecuteNonQuery();
}
}
}
}
OrderItems是一个包含inv_Id、Item_Id和quantity列的表名。
问题详情可以参考link
【问题讨论】:
-
什么是 OrderItems.Row?您正在循环这个集合,并且这个集合的每个元素都应该有一个名为 Item_Id 的属性。您能否显示存储在 OrderItems 类的 Rows 集合/列表/数组中的类的定义?
标签: c#