منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : سوال كيف يمكن الاضافة على ثلاثة جداول واكثر
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
سلام عليكم 
لي اشكالية كيف يمكن ان اضيف بيان الى ثلاثة جدول في وقت واحد يربطها حقل معين 

حاولت ولكن لم افلح.. مع اني اربط بين الجدولين وهذا الكود لربط الجدوين Sad

كود :
dim tran As OleDbTransaction





cmd.CommandText = "insert into   A(Id_user,emp_name)values(?,?) "

       cmd.Connection = con

       cmd.Parameters.Clear()

       cmd.Parameters.Add(New OleDbParameter("@Id_user", OleDbType.VarChar)).Value = Val(txt_Id_user.Text)
      cmd.Parameters.Add(New OleDbParameter("@emp_name", OleDbType.VarChar)).Value = Val(txt_emp_name.Text)
     
       con.Open()
       tran = con.BeginTransaction
       cmd.Transaction = tran
       cmd.ExecuteNonQuery()


       cmd1.CommandText = "insert into b (Id_user,phone,email,note)values(?,?,?)"

       cmd1.Connection = con

       cmd1.Parameters.Clear()


       cmd1.Parameters.Add("@Id_user", OleDbType.VarChar).Value = Val(txt_Id_user.Text)
       cmd1.Parameters.Add("@phone", OleDbType.VarChar).Value = Trim(Val(txt_phone.Text))
       cmd1.Parameters.Add("@email", OleDbType.VarChar).Value = Trim(txt_email.Text)
     
       cmd1.Transaction = tran
       cmd1.ExecuteNonQuery()
       tran.Commit()


     

     
       con.Close()
اشكرك اخي العزيز المشكلة ليست في الجدولين ولكن المشكلة في الثلاثة الجداول الكود الاول الذي وضعته في السؤال شغال ما فيه اي اشكالية ولكن اشكالتي كيف اضيف الجدول الثالث ان وجد Smile
مع خالص شكري
كتب ان وجد Smile
لان سؤالي في الاول واضح لاني احولت اضيف الى جدول ثالث ولم افلح Smile
اما الكود في الاضافة الى جدولين لا يوجد فيه اي اشكالية
سلام

كود :
Using con As New OleDbConnection(connectionString)
    con.Open()

Dim tran As OleDbTransaction
    tran = con.BeginTransaction

    Using cmd As New OleDbCommand(Nothing, con)

        cmd.Transaction = tran


        cmd.CommandText = "INSERT INTO [a] ([emp_name]) VALUES (?) "
        cmd.Parameters.Clear()
        cmd.Parameters.AddWithValue("@emp_name", txt_emp_name.Text.Trim)
        Dim insertA As Integer = cmd.ExecuteNonQuery()

        cmd.CommandText = "SELECT @@IDENTITY"
        Dim Id_user As Integer = cmd.ExecuteScalar


        cmd.CommandText = "INSERT INTO [b] ([Id_user], [phone], [email], [note]) VALUES (?, ?, ?, ?)"
        cmd.Parameters.Clear()
        cmd.Parameters.AddWithValue("@Id_user", Id_user)
        cmd.Parameters.AddWithValue("@phone", txt_phone.Text.Trim)
        cmd.Parameters.AddWithValue("@email", txt_email.Text.Trim)
        cmd.Parameters.AddWithValue("@note", txt_note.Text.Trim)
        Dim insertB As Integer = cmd.ExecuteNonQuery()


        cmd.CommandText = "INSERT INTO [c] ([Id_user], [field1]) VALUES (?, ?)"
        cmd.Parameters.Clear()
        cmd.Parameters.AddWithValue("@Id_user", Id_user)
        cmd.Parameters.AddWithValue("@field1", txt_field1.Text.Trim)
        Dim insertC As Integer = cmd.ExecuteNonQuery()


        If (insertA > 0) And (insertB > 0) And (insertC > 0) Then
            tran.Commit()
            MsgBox("تمت الاضافة")
        End If

    End Using

    con.Close()
End Using
الكود مجرب

موفقين
(04-08-15, 12:49 PM)الطالب كتب : [ -> ]سلام

كود :
Using con As New OleDbConnection(connectionString)
   con.Open()

Dim tran As OleDbTransaction
   tran = con.BeginTransaction

   Using cmd As New OleDbCommand(Nothing, con)

       cmd.Transaction = tran


       cmd.CommandText = "INSERT INTO [a] ([emp_name]) VALUES (?) "
       cmd.Parameters.Clear()
       cmd.Parameters.AddWithValue("@emp_name", txt_emp_name.Text.Trim)
       Dim insertA As Integer = cmd.ExecuteNonQuery()

       cmd.CommandText = "SELECT @@IDENTITY"
       Dim Id_user As Integer = cmd.ExecuteScalar


       cmd.CommandText = "INSERT INTO [b] ([Id_user], [phone], [email], [note]) VALUES (?, ?, ?, ?)"
       cmd.Parameters.Clear()
       cmd.Parameters.AddWithValue("@Id_user", Id_user)
       cmd.Parameters.AddWithValue("@phone", txt_phone.Text.Trim)
       cmd.Parameters.AddWithValue("@email", txt_email.Text.Trim)
       cmd.Parameters.AddWithValue("@note", txt_note.Text.Trim)
       Dim insertB As Integer = cmd.ExecuteNonQuery()


       cmd.CommandText = "INSERT INTO [c] ([Id_user], [field1]) VALUES (?, ?)"
       cmd.Parameters.Clear()
       cmd.Parameters.AddWithValue("@Id_user", Id_user)
       cmd.Parameters.AddWithValue("@field1", txt_field1.Text.Trim)
       Dim insertC As Integer = cmd.ExecuteNonQuery()


       If (insertA > 0) And (insertB > 0) And (insertC > 0) Then
           tran.Commit()
           MsgBox("تمت الاضافة")
       End If

   End Using

   con.Close()
End Using
الكود مجرب

موفقين
عفوا اخوي انا جربت الكود لكن يظهر لي خطأ في  OleDbConnection(connectionString) ف غيرت الى SqlConnection فظهر لي خطأ في (connectionString) فحاولت إلغائها ولكن ظهر لي خطأ في con.open مع العلم اني كونت قاعدة بيانات في SQL SERVER 2008
ارجو منك أن تشرح لي ما هو الخطأ وهدا الخطأ الذي يظهرلي Additional information: لم تتم تهيئة الخاصية ConnectionString.
سلام

لازم يكون عندك متغير اسمه connectionString يحوي على جملت الاتصال مثل في الاكسس
كود :
Dim connectionString As String = "Provider=.......الى اخره"
او مثل في اس كيو ال
كود :
Dim connectionString As String = "DataSource=.....الى اخره"
او
Dim connectionString As String = "Server=....الى اخره"

والكود يعمل ايضا على sql بتعديل oledb ب sql في كل الكود

موفقين
(14-08-15, 04:00 PM)الطالب كتب : [ -> ]سلام

لازم يكون عندك متغير اسمه connectionString يحوي على جملت الاتصال مثل في الاكسس
كود :
Dim connectionString As String = "Provider=.......الى اخره"
او مثل في اس كيو ال
كود :
Dim connectionString As String = "DataSource=.....الى اخره"
او
Dim connectionString As String = "Server=....الى اخره"

والكود يعمل ايضا على  sql بتعديل oledb ب sql في كل الكود

موفقين

مشكوووووور خوي Smile Smile
بارك الله فيك