我正在處理用戶從gridview中選擇的項目,並執行電子郵件和數據庫插入操作。獲取剛剛插入的記錄的ID?
當用戶選擇一個按鈕時,下面的代碼將從gridview中獲取信息,在Order表中創建一個新訂單,並在Transactions表中創建新的條目。
如何使用此插入記錄的方法獲取最後插入的ID? 你會推薦一個不同的方法來解決這個簡單的問題嗎?在您的插入查詢結束
protected void btnOrder_Click(object sender, EventArgs e)
{
double Total = 0;
string MailFrom = "[email protected]";
string MailTo = "[email protected]";
string MailSubject = "Online Order";
string MailCC = "";
string MailBCC = "";
string MailReplyTo = "";
string MailBody = "";
TextBox ItmCostCode = (TextBox)form1.FindControl("txtCostCode");
foreach (GridViewRow gvr in GridView1.Rows)
{
CheckBox cb = (CheckBox)gvr.FindControl("ItemSelect");
Label ItmTotal = (Label)gvr.FindControl("ItmTotal");
Label ItmPrice = (Label)gvr.FindControl("ItmPrice");
Label ItmName = (Label)gvr.FindControl("lblName");
TextBox ItmQty = (TextBox)gvr.FindControl("ItmQty");
TextBox ItmID = (TextBox)gvr.FindControl("lblItemID");
//Add entry to Order Table
SqlDataSource2.InsertParameters.Add("OrderDate", DateTime.Now.ToString("MMMM dd, yyyy"));
SqlDataSource2.InsertParameters.Add("OrderTotal", "0");
SqlDataSource2.InsertParameters.Add("OrderAccount", "name");
SqlDataSource2.InsertParameters.Add("OrderCostCentre", ItmCostCode.Text);
SqlDataSource2.Insert();
//TODO: GET ORDERID HERE TO USE BELOW:
if (cb.Checked)
{
double Price = Convert.ToDouble(ItmPrice.Text);
double Qty = Convert.ToDouble(ItmQty.Text);
Total = Price * Qty;
OrderTotal = OrderTotal + Total;
MailBody = MailBody + "Item: "+ItmName.Text+" Quantity: "+ItmQty.Text+" Total: "+ItmTotal.Text+"\n\r";
//Add entry to Transaction Table
SqlDataSource3.InsertParameters.Add("ItemID", ItmID.Text);
SqlDataSource3.InsertParameters.Add("OrderID",);
SqlDataSource3.InsertParameters.Add("Price", ItmPrice.Text);
SqlDataSource3.Insert();
}
//TODO: Update Order table with OrderTotal
}
string strOrderTotal = OrderTotal.ToString();
MailBody = MailBody+"Order Total: " + strOrderTotal+"\n\r";
MailBody = MailBody + "Cost Code: " + ItmCostCode.Text;
MailService.Service1 Mailer = new MailService.Service1();
Mailer.SendMail("Text", MailFrom, MailTo, MailCC, MailBCC, MailSubject, MailBody, MailReplyTo);
}
這就是我一直在閱讀,但我不確定如何直接構建我自己的插入語句:S – Kolten 2011-04-07 05:08:22
@Kolten;我已編輯並粘貼一些鏈接以獲得幫助。 – 2011-04-07 05:51:16
對鏈接+1,但我想給你更多:^) – Katia 2014-05-28 11:48:10