منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] سوال كيف يمكن الاضافة على ثلاثة جداول واكثر - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم أسئلة قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=41)
+--- الموضوع : [VB.NET] سوال كيف يمكن الاضافة على ثلاثة جداول واكثر (/showthread.php?tid=12880)



سوال كيف يمكن الاضافة على ثلاثة جداول واكثر - قناص المدينة - 03-08-15

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

حاولت ولكن لم افلح.. مع اني اربط بين الجدولين وهذا الكود لربط الجدوين 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()



RE: سوال كيف يمكن الاضافة على ثلاثة جداول واكثر - قناص المدينة - 04-08-15

اشكرك اخي العزيز المشكلة ليست في الجدولين ولكن المشكلة في الثلاثة الجداول الكود الاول الذي وضعته في السؤال شغال ما فيه اي اشكالية ولكن اشكالتي كيف اضيف الجدول الثالث ان وجد Smile
مع خالص شكري


RE: سوال كيف يمكن الاضافة على ثلاثة جداول واكثر - قناص المدينة - 04-08-15

كتب ان وجد Smile
لان سؤالي في الاول واضح لاني احولت اضيف الى جدول ثالث ولم افلح Smile
اما الكود في الاضافة الى جدولين لا يوجد فيه اي اشكالية


RE: سوال كيف يمكن الاضافة على ثلاثة جداول واكثر - الطالب - 04-08-15

سلام

كود :
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
الكود مجرب

موفقين


السلام عليكم ورحمة الله - مجروحه - 14-08-15

(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.


RE: سوال كيف يمكن الاضافة على ثلاثة جداول واكثر - الطالب - 14-08-15

سلام

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

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

موفقين


السلام عليكم ورحمة الله - مجروحه - 14-08-15

(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
بارك الله فيك