вы можете изменить свою команду.
objCommand.CommandText = "INSERT INTO Product " +
"(CustomerName,CustomerAddress,InvoiceNumber,InvoiceDate,ProductName,"+
"ProductDescription,UnitCost,Quantity,TotalAmountToBePaid) VALUES " +
"(@cname, @caddress, @inumber, @idate, @pname, @pdesc, @unitcost, @qty, @total); " +
"SELECT SCOPE_IDENITY();";
objCommand.Parameters.Add(new SqlParameter("@cname", tbcustomername.Text));
objCommand.Parameters.Add(new SqlParameter("@caddress", tbcustomeraddress.Text));
objCommand.Parameters.Add(new SqlParameter("@inumber", int.Parse(tbinvoicenumber.Text)));
objCommand.Parameters.Add(new SqlParameter("@idate", DateTime.Parse(tbinvoicedate.Text)));
objCommand.Parameters.Add(new SqlParameter("@pname", tbproductname.Text));
objCommand.Parameters.Add(new SqlParameter("@pdesc", tbproductdescription.Text));
objCommand.Parameters.Add(new SqlParameter("@unitcost", decimal.Parse(tbunitcost.Text)));
objCommand.Parameters.Add(new SqlParameter("@qty", int.Parse(tbquantity.Text)));
objCommand.Parameters.Add(new SqlParameter("@total", decimal.Parse(tbamounttobepaid.Text)));
int id = (int)objCommand.ExecuteScalar();
Это вернет последнюю идентификацию, вставленную в эту транзакцию, к которой вы хотите получить доступ. Полезно помнить, что вы можете отправить несколько операторов в одной команде.
И, как говорит @Wiktor_Zychla в комментарии ниже, лучше использовать параметры в ваших запросах, чтобы избежать инъекции sql.
person
Arturo Martinez
schedule
10.07.2012
"
под строкойLine 45:
. - person David says reinstate Monica   schedule 10.07.2012