تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] مشكله كود TRansaction وحقل الترقيم التلقائي
#1
لو سمحتو انا بستخدم كود الاضافه باستخدام خاصيه TRansaction بس لو حصل خطا في الكود التاني وحليت الخطا واجي احفظ تاني بلاقي ال id زاد رقم غير الي عليه الدور علما بان حقل ال id ترقيم تلقائي

'##### تعريف المتغيرات #####
Dim sql As String
Dim adp As SqlDataAdapter
Dim dt As DataTable
Dim sqlcmd As SqlCommand
Dim cmdbuild As SqlCommandBuilder

Dim dr As DataRow

If MainCon.State <> ConnectionState.Open Then MainCon.Open()

Dim trans As SqlTransaction = MainCon.BeginTransaction

Try

'##### الجدول الرئيسي #####
sql = ("SELECT * FROM CustomerInvoice_tbl WHERE ID_CustomerInvoice = '" & ID_txb.Text & "' ")
sqlcmd = New SqlCommand(sql, MainCon)
sqlcmd.Transaction = trans
adp = New SqlDataAdapter(sqlcmd)
dt = New DataTable
adp.Fill(dt)

If dt.Rows.Count = 0 Then

dr = dt.NewRow

dr!DateSale = DateSale_dtp.Value
dr!Statement = Statement_txb.Text

dr!Pure_ch = Pure_chb.Checked
dr!BanSale_ch = BanSale_chb.Checked

dr!ID_Customer = Cus_ID_txb.Text

dt.Rows.Add(dr)

cmdbuild = New SqlCommandBuilder(adp)
adp.Update(dt)
Else

dr = dt.Rows(0)

dr!DateSale = DateSale_dtp.Value
dr!Statement = Statement_txb.Text

dr!Pure_ch = Pure_chb.Checked
dr!BanSale_ch = BanSale_chb.Checked

dr!ID_Customer = Cus_ID_txb.Text

cmdbuild = New SqlCommandBuilder(adp)
adp.Update(dt)
End If

'##### جدول الثاني #####
sql = ("SELECT * FROM Main_tbl WHERE MotorNo = '" & MotorNo_txb.Text & "' ")
sqlcmd = New SqlCommand(sql, MainCon)
sqlcmd.Transaction = trans
adp = New SqlDataAdapter(sqlcmd)
dt = New DataTable
adp.Fill(dt)

If dt.Rows.Count = 0 Then


Else

dr = dt.Rows(0)

dr!ID_CustomerInvoice = ID_txb.Text

dr!ChassisNo = ChassisNo_txb.Text

dr!ID_Brand = Brand_cmb.SelectedValue
dr!ID_Tiraz = Tiraz_cmb.SelectedValue
dr!ID_Type = Type_cmb.SelectedValue

If ManufactureCompany_cmb.Text <> Nothing Then
dr!ID_ManufactureCompany = ManufactureCompany_cmb.SelectedValue
Else
dr!ID_ManufactureCompany = DBNull.Value
End If

dr!Model = Model_txb.Text
dr!Color = Color_txb.Text
dr!MetalPlate = MetalPlate_txb.Text

cmdbuild = New SqlCommandBuilder(adp)
adp.Update(dt)
End If

trans.Commit()

MsgBox("ok")
Catch ex As Exception
trans.Rollback()
MsgBox(ex.Message)
End Try
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم