Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > insert ข้อมูล ลง 2 table พร้อมกัน ใครก็ได้ช่วยดูให้ผมที คือผม insert อันแรกได้ แต่พออันที่สองไม่ได้ มันบอกว่า รัน transaction parallel



 

insert ข้อมูล ลง 2 table พร้อมกัน ใครก็ได้ช่วยดูให้ผมที คือผม insert อันแรกได้ แต่พออันที่สองไม่ได้ มันบอกว่า รัน transaction parallel

 



Topic : 024305



โพสกระทู้ ( 219 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook



if (dgvOrderList.Rows.Count != 0)
{
tr1 = Conn.BeginTransaction();
//sb1.Remove(0, sb1.Length());

sb1.Append("INSERT INTO tranOrder ");
sb1.Append("(Order_ID, Order_DateTime, Staff_ID, Cust_ID, ");
sb1.Append("Order_TotalPrice, Order_Status) ");
sb1.Append("VALUES (");
sb1.Append("@OrderID, ");
sb1.Append("@OrderDateTime, ");
sb1.Append("@StaffID, ");
sb1.Append("@CustID, ");
sb1.Append("@OrderTotalPrice, ");
sb1.Append("@OrderStatus);");

string sqlInsertOrder1 = sb1.ToString();
com1.CommandType = CommandType.Text;
com1.CommandText = sqlInsertOrder1;
com1.Connection = Conn;
com1.Transaction = tr1;
com1.Parameters.Clear();
com1.Parameters.Add("@OrderID", SqlDbType.VarChar).Value = Session["orderID"].ToString();
com1.Parameters.Add("@OrderDateTime", SqlDbType.DateTime).Value = DateTime.Now; //txtDate.Text.Trim();
com1.Parameters.Add("@StaffID", SqlDbType.VarChar).Value = txtStaffID.Text.Trim();
com1.Parameters.Add("@CustID", SqlDbType.VarChar).Value = Session["custID"].ToString();
com1.Parameters.Add("@OrderTotalPrice", SqlDbType.Decimal).Value = totalPrice;
com1.Parameters.Add("@OrderStatus", SqlDbType.VarChar).Value = "incomplete";
com1.ExecuteNonQuery();

tr1.Commit();
Conn.Dispose();

insertProductOrder();

}
private void insertProductOrder()
{
string strConn = "Data Source=MIXAR-PC;Initial Catalog=StockProductInfo;Integrated Security=True";

SqlConnection Conn = new SqlConnection(strConn);
if (Conn.State == ConnectionState.Open)
{
Conn.Close();
}
Conn.ConnectionString = strConn;
Conn.Open();

if (dgvOrderList.Rows.Count != 0)
{
foreach (GridViewRow r in dgvOrderList.Rows)
{
string barcode = r.Cells[0].ToString();

TextBox txtQty = (TextBox)r.FindControl("txtQuantity");
int qty = int.Parse(txtQty.Text);

Label lblTotalPrice = (Label)r.FindControl("lblPrice");
double calPrice = double.Parse(lblTotalPrice.Text);

tr2 = Conn.BeginTransaction();
//sb2.Remove(0, sb2.Length());

sb2.Append("INSERT INTO tranProductOrder ");
sb2.Append("(Order_ID, Prod_Barcode, PO_ProdQty, ");
sb2.Append("PO_TotalPrice, Prod_Complete) ");
sb2.Append("VALUES (");
sb2.Append("@OrdID, ");
sb2.Append("@ProdBarcode, ");
sb2.Append("@ProdQuantity, ");
sb2.Append("@ProdPrice, ");
sb2.Append("@ProdStatus)");

string sqlInsertOrder2 = sb2.ToString();
com2.CommandType = CommandType.Text;
com2.CommandText = sqlInsertOrder2;
com2.Connection = Conn;
com2.Transaction = tr2;
com2.Parameters.Clear();
com2.Parameters.Add("@OrdID", SqlDbType.VarChar).Value = Session["orderID"].ToString();
com2.Parameters.Add("@ProdBarcode", SqlDbType.VarChar).Value = barcode;
com2.Parameters.Add("@ProdQuantity", SqlDbType.Int).Value = qty;
com2.Parameters.Add("@ProdPrice", SqlDbType.Decimal).Value = calPrice;
com2.Parameters.Add("@ProdStatus", SqlDbType.VarChar).Value = "incomplete";
com2.ExecuteNonQuery();

tr2.Commit();

Conn.Dispose();
}
}
}
ใครก็ได้ช่วยดูให้ผมที
คือผม insert อันแรกได้
แต่พออันที่สองไม่ได้
มันบอกว่า รัน transaction parallel ไม่ได้
แก้ไงดีครับ ผมจำเป็นต้อง insert 2 table พร้อมกันด้วย



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-01-26 22:33:09 By : mixarstudio View : 3223 Reply : 5
 

 

No. 1

Guest


ทำไมคุณไม่นำ Query ไปไว้ใน Transaction เดียวกันครับ คุณเปิดแล้วก็ปิด แล้วก็เปิดอีกทีหนึ่งครับ






Date : 2009-01-27 09:47:26 By : อิอิ
 


 

No. 2

Guest


จะ insert ครั้งเดียวให้ลงหลายตารางควรทำอย่างไรครับ
Date : 2009-03-24 22:48:19 By : wan
 

 

No. 3



โพสกระทู้ ( 219 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ก็ทำแบบข้างบนที่ผมโพสไว้ไงครับ
Date : 2009-03-24 23:13:30 By : mixarstudio
 


 

No. 4



โพสกระทู้ ( 371 )
บทความ ( 0 )



สถานะออฟไลน์


ผมอยากจะแนะนำว่า การเขียน Code แบบ ข้างบนคือ ใส่คำสั่ง SQL ในชึ้น UI Layer
เวลาแก้มันจะทรมานมากนะครับ ผมแนะนำว่า ควรทำ BussinessObjects อ่าน Tutorial นี้ดู

VB
http://www.asp.net/learn/data-access/tutorial-01-vb.aspx
http://www.asp.net/learn/data-access/tutorial-02-vb.aspx

CS
http://www.asp.net/learn/data-access/tutorial-01-cs.aspx
http://www.asp.net/learn/data-access/tutorial-02-cs.aspx

ผมว่าพวกคำสั่ง SQL เอาไปใส่ใน Store Procedure ดีกว่า เวลาแก้จะได้แก้ง่ายๆๆ หน่อย
Date : 2009-03-25 09:47:52 By : jezusmitsui
 


 

No. 5



โพสกระทู้ ( 2 )
บทความ ( 0 )



สถานะออฟไลน์


^^^^^
^^^^^
Thank kha.
Date : 2009-11-24 10:28:18 By : noonoy42
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : insert ข้อมูล ลง 2 table พร้อมกัน ใครก็ได้ช่วยดูให้ผมที คือผม insert อันแรกได้ แต่พออันที่สองไม่ได้ มันบอกว่า รัน transaction parallel
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่