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,038

HOME > .NET Framework > Forum > ขอสอบถามเรื่องการ Insert Stored Procedure Transaction ด้วย vb.net หน่อยครับ


 

[.NET] ขอสอบถามเรื่องการ Insert Stored Procedure Transaction ด้วย vb.net หน่อยครับ

 
Topic : 130522



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



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



ผมลอง Debug ดูมันแจ้ง Error แบบนี้อ่ะครับ รบกวนชี้แนะหน่อย พอดีกำลังจะเริ่มหัดเขียน procedure อะครับ
Exception thrown: 'System.InvalidOperationException' in System.Data.dll ("ExecuteNonQuery requires the command to have a transaction when the connection assigned to the command is in a pending local transaction. The Transaction property of the command has not been initialized.")

Code (SQL)
01.alter procedure P_Emp
02.  @Emp_User as Nvarchar(50), @Emp_Pass as Nvarchar (20)
03., @Emp_Name as nvarchar (100), @Emp_Surname as nvarchar (100)
04., @Emp_Phone as nvarchar (12), @Emp_Email as nvarchar (50)
05., @Emp_Address as Nvarchar (300), @Emp_PostCode as nvarchar (10)
06., @pStatus as int output , @pMsg as nvarchar (100) output
07., @Emp_ID as int, @Role_ID as int, @P_ID as int
08., @Dept_ID as int, @PROVINCE_ID as int, @DisTrict_ID as int, @Amphur_ID as int
09., @M_DateRegis as datetime
10., @Action as nvarchar (10)
11.as
12.begin
13.            if @Action = 'Insert'
14.            begin
15.            begin transaction
16.            begin try
17.             
18.            insert into tb_Emp Values (@Emp_ID,@Emp_User, @Emp_Pass, @Emp_Name, @Emp_Surname, @Emp_Phone, @Emp_Email, @Emp_Address, @Emp_PostCode)
19.            insert into tb_Emp Values (@Emp_ID,@Role_ID, @P_ID, @Dept_ID, @PROVINCE_ID, @DisTrict_ID, @Amphur_ID, @M_DateRegis)
20.             
21.            set @pStatus = 1
22.            set @pMsg = 'Insert Data Successfuly'
23.            commit
24.            end try
25.            begin Catch
26.            rollback
27.            select @pStatus = 0
28.            select @pMsg = ERROR_MESSAGE();
29.            End Catch
30.    end
31.end


Code (VB.NET)
01.Private Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click
02.      Try
03.          Using objConn As New SqlConnection(strConn)
04.              objConn.Open()
05.              Using objtransaction As SqlTransaction = objConn.BeginTransaction(IsolationLevel.ReadCommitted)
06.                  Using objcmd As New SqlCommand("P_Emp", objConn)
07.                      With objcmd
08.                          .CommandType = CommandType.StoredProcedure
09.                          .Transaction = trans
10.                          .Parameters.AddWithValue("@Action", "Insert")
11.                          .Parameters.AddWithValue("@Emp_ID", SqlDbType.NVarChar).Value = lblAutoId.Text
12.                          .Parameters.AddWithValue("@Emp_User", SqlDbType.NVarChar).Value = txtUser.Text
13.                          .Parameters.AddWithValue("@Emp_Pass", SqlDbType.NVarChar).Value = txtPass.Text
14.                          .Parameters.AddWithValue(" @Emp_Name", SqlDbType.NVarChar).Value = txtFirstname.Text
15.                          .Parameters.AddWithValue("@Emp_Surname", SqlDbType.NVarChar).Value = txtSurname.Text
16.                          .Parameters.AddWithValue(" @Emp_Phone", SqlDbType.NVarChar).Value = txtPhone.Text
17.                          .Parameters.AddWithValue("@Emp_Email", SqlDbType.NVarChar).Value = txtEmail.Text
18.                          .Parameters.AddWithValue("@Emp_Address", SqlDbType.NVarChar).Value = txtAddress.Text
19.                          .Parameters.AddWithValue(" @Emp_PostCode", SqlDbType.NVarChar).Value = txtPostcode.Text
20.                          .Parameters.AddWithValue("@Emp_ID", SqlDbType.Int).Value = lblAutoId.Text
21.                          .Parameters.AddWithValue("@Role_ID", SqlDbType.Int).Value = ddlRole.SelectedValue.ToString
22.                          .Parameters.AddWithValue("@P_ID", SqlDbType.Int).Value = ddlPosition.SelectedValue.ToString
23.                          .Parameters.AddWithValue("@Dept_ID", SqlDbType.Int).Value = ddlDept.SelectedValue.ToString
24.                          .Parameters.AddWithValue("@PROVINCE_ID", SqlDbType.Int).Value = ddlProvince.SelectedValue.ToString
25.                          .Parameters.AddWithValue("@DisTrict_ID", SqlDbType.Int).Value = ddlDistrict.SelectedValue.ToString
26.                          .Parameters.AddWithValue("@Amphur_ID", SqlDbType.Int).Value = ddlAumphur.SelectedValue.ToString
27.                          .Parameters.AddWithValue("@M_DateRegis", SqlDbType.DateTime).Value = DateTime.Now.ToString(CultureInfo.CreateSpecificCulture("en-US"))
28.                          .CommandText = "P_Emp"
29.                          .ExecuteNonQuery()
30.                      End With
31. 
32.                  End Using
33.                  gentAutoId()
34.              End Using
35.          End Using
36.      Catch ex As Exception
37. 
38.      End Try
39.  End Sub




Tag : .NET, Ms SQL Server 2014, Web (ASP.NET), Win (Windows App), VB.NET

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2018-03-10 08:17:15 By : adminliver View : 810 Reply : 1
 

 

No. 1



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



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


ทำได้แล้วครับเอา
.CommandText = "P_Emp"
.Transaction = trans ออก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-03-11 22:36:29 By : adminliver
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอสอบถามเรื่องการ Insert Stored Procedure Transaction ด้วย vb.net หน่อยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





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