Я создаю приложение формы окна счета-фактуры, но сталкиваюсь с проблемой, когда помещаю GetInt32
в код, как показано ниже:
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.GetInt("InvoiceID");
//invoiceID =(int)cmd.Parameters["@InvoiceID"].Value;
}
}
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_Id);
cmd.Parameters.AddWithValue("@quantity", quantity);
cmd.ExecuteNonQuery();
}
}
}
}
Я пробовал invoiceID = cmd.SqlDataReader.GetInt32("InvoiceID");
и invoiceID = cmd.SqlDataReader.GetInt32("InvoiceID");
, но не работает.
int ordinal
, а неstring columnName
. - person Caramiriel   schedule 15.03.2015