المشاركات : 126
المواضيع 12
الإنتساب : Sep 2013
السمعة :
7
الشكر: 87
تم شكره 209 مرات في 61 مشاركات
سلام عليكم
لي اشكالية كيف يمكن ان اضيف بيان الى ثلاثة جدول في وقت واحد يربطها حقل معين
حاولت ولكن لم افلح.. مع اني اربط بين الجدولين وهذا الكود لربط الجدوين
كود :
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()
المشاركات : 126
المواضيع 12
الإنتساب : Sep 2013
السمعة :
7
الشكر: 87
تم شكره 209 مرات في 61 مشاركات
اشكرك اخي العزيز المشكلة ليست في الجدولين ولكن المشكلة في الثلاثة الجداول الكود الاول الذي وضعته في السؤال شغال ما فيه اي اشكالية ولكن اشكالتي كيف اضيف الجدول الثالث ان وجد
مع خالص شكري
المشاركات : 126
المواضيع 12
الإنتساب : Sep 2013
السمعة :
7
الشكر: 87
تم شكره 209 مرات في 61 مشاركات
كتب ان وجد
لان سؤالي في الاول واضح لاني احولت اضيف الى جدول ثالث ولم افلح
اما الكود في الاضافة الى جدولين لا يوجد فيه اي اشكالية
المشاركات : 237
المواضيع 9
الإنتساب : May 2015
السمعة :
43
الشكر: 3583
تم شكره 2753 مرات في 170 مشاركات
سلام
كود :
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
الكود مجرب
موفقين
المشاركات : 6
المواضيع 1
الإنتساب : Aug 2015
السمعة :
0
الشكر: 0
تم شكره 1 مرات في 1 مشاركات
14-08-15, 03:47 PM
(آخر تعديل لهذه المشاركة : 14-08-15, 03:51 PM {2} بواسطة مجروحه.)
(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.
المشاركات : 237
المواضيع 9
الإنتساب : May 2015
السمعة :
43
الشكر: 3583
تم شكره 2753 مرات في 170 مشاركات
سلام
لازم يكون عندك متغير اسمه connectionString يحوي على جملت الاتصال مثل في الاكسس
كود :
Dim connectionString As String = "Provider=.......الى اخره"
او مثل في اس كيو ال
كود :
Dim connectionString As String = "DataSource=.....الى اخره"
او
Dim connectionString As String = "Server=....الى اخره"
والكود يعمل ايضا على sql بتعديل oledb ب sql في كل الكود
موفقين
المشاركات : 6
المواضيع 1
الإنتساب : Aug 2015
السمعة :
0
الشكر: 0
تم شكره 1 مرات في 1 مشاركات
(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 في كل الكود
موفقين
مشكوووووور خوي
بارك الله فيك
|