السلام عليكم
ارجوا منكم المساعدة فى قاعدة البياناتSQL هناك مشكلة فيها
هذة اول تجربة لى مع قواعد البيانات ارجوا الاستفادة
قمت بعمل قاعدة البيانات هذة ولكن هناك مشكلة فى الحفظ بعد ان احاول اضافة سجل جديد
فما هو الخطأ ارجوا المساعدة مع خالص شكرى لكما
السلام عليكم
ارجوا منكم المساعدة فى قاعدة البياناتSQL هناك مشكلة فيها
هذة اول تجربة لى مع قواعد البيانات ارجوا الاستفادة
قمت بعمل قاعدة البيانات هذة ولكن هناك مشكلة فى الحفظ بعد ان احاول اضافة سجل جديد
فما هو الخطأ ارجوا المساعدة مع خالص شكرى لكما
الفريق المصري للبرمجة
تحليل وتصميم برامج قواعد بيانات لاتصال بينا masry4u@hotmail.com
للأسف لم أفتح برنامجك المرفق لكون الفيجوال بيسك لا يوجد عندي على الجهاز الذي أستخدمه حالياً، ولكنني أستطيع أن أخمن مشكلتك:
أفترض هنا بأن الأدابتر عندك إسمه SqlDataAdapter1
وأفترض بأن الداتاسيت إسمها DataSet11
وأفترض بأن الجدول الذي تعمل عليه إسمه " Customers"
قم بوضع الكود التالي في زر الحفظ:
Me.BindingContext(DataSet11,"Customers").EndCurrentEdit() SqlDataAdapter1.Update(DataSet11) DataSet11.AcceptChanges()
أما إذا أردت تخفيف الضغط على السيرفر فإستخدم الكود التالي (نتيجة هذا الكود هي نفس نتيجة الكود الأول):
Dim HMS As DataSet1 Me.BindingContext(DataSet11,"Customers").EndCurrentEdit() If DataSet11.HasChanges Then dsTemp = CType(DataSet11.GetChanges, DataSet1) SqlDataAdapter1.Update(HMS) DataSet11.AcceptChanges() End If
Learn Japanese :>>> http://www.nouben.com/
اخى HMS اشكرك على الاهتمام ولكن نفس المشكلة موجودة لا استطيع حفظ سجل جديد ولكن استطيع الحذف ولك الاكواد ربما تسطيع مساعدتى
زر الاتصال
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click DataSet11.Clear() SqlDataAdapter1.Fill(DataSet11) End Sub
زر السجل التالى
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.BindingContext(DataSet11, "region").CancelCurrentEdit() Me.BindingContext(DataSet11, "region").Position += 1 End Sub
زر السجل السابق
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.BindingContext(DataSet11, "region").CancelCurrentEdit() Me.BindingContext(DataSet11, "region").Position -= 1 End Sub
زر السجل الاول
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Me.BindingContext(DataSet11, "region").CancelCurrentEdit() Me.BindingContext(DataSet11, "region").Position = 0 End Sub
زر السجل الاخير
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Me.BindingContext(DataSet11, "region").CancelCurrentEdit() Me.BindingContext(DataSet11, "region").Position = BindingContext(DataSet11, "region").Count - 1 End Sub
زر حفظ سجل
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click Me.SqlDataAdapter1.Update(DataSet11) DataSet11.AcceptChanges() End Sub
زر سجل جديد
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click Me.BindingContext(DataSet11, "region").AddNew() End Sub
زر حذف سجل
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click Me.BindingContext(DataSet11, "region").RemoveAt(Me.BindingContext(DataSet11, "region").Position) Me.BindingContext(DataSet11, "region").Position += 1 End Sub
ارجوا المساعدة
الفريق المصري للبرمجة
تحليل وتصميم برامج قواعد بيانات لاتصال بينا masry4u@hotmail.com
هاهو البرنامج كاملاً، وقد قمت بفحصه بعد أنشأت جدول region وهو شغال مائة بالمائة، أعتقد بأنك قمت بإعداد برنامجك بطريقة خاطئة، وموقع الخطأ في عملية Data Binding لصندوقي TextBox، قم فقط بعملية ربط ال Text في خاصية DataBindings لكل من الصندوقين (لا تقم بربط tag على الإطلاق كما فعلت في برنامجك).
ستلاحظ (بعد أن تنسخ الكود الذي عملته أنا) بأنه يظهر لك رسالة تقول:
Column "ID" doesn’t allow nulls
والسبب في ذلك كما أسلفت هو ربط لخاصية ال Tag.
أنصحك عندما تنشيء كود أن تقوم بذلك مضمناً إياه Try , Catch فبهذه الطريقة تستطيع معرفة مكمن الخطأ في كود ما.
وأمر آخر، إن فتحت الجدول regions من نافذة ال server explorer فإنك لن تلاحظ أي update تقوم به، يجب عليك أن تغلق الجدول ومن ثم فتحه من جديد لترى أي إضافة قمت بها.
أرجو تنفيذ الكود وإن لم يعمل معك لسبب لا أعلمه أن تزودني برسالة الخطأ التي تظهر، فقد يكون الخطأ في إعداد ال Primary Key للجدول (في هذه الحالة قد تضطر لتزويدي بالجدول region لفحصه).
أرجو إن مشت الأمور معك أن تخبرني لأطمئن علين وعلى أهل مصر الحبيبة (ما تسألنيش كيف عرفت).
على فكره، لا تنسى أن تقوم بعملية ADD وال Update بعد أن تضغط على زر Upload، مش هيك؟ لذا أنصحك بأن تضع كود زر ال Upload في Form1_Load حتى لا تقع بهذا الخطأ.
الكود كالتالي، ومرفق أيضاً البرنامج:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try DataSet11.Clear() SqlDataAdapter1.Fill(DataSet11) Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.BindingContext(DataSet11, "region").Position += 1 End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.BindingContext(DataSet11, "region").Position -= 1 End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Me.BindingContext(DataSet11, "region").Position = BindingContext(DataSet11, "region").Count - 1 End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Me.BindingContext(DataSet11, "region").Position = 0 End Sub Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click Try Me.BindingContext(DataSet11, "region").EndCurrentEdit() Me.BindingContext(DataSet11, "region").AddNew() Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click Try Me.BindingContext(DataSet11, "region").EndCurrentEdit() Me.SqlConnection1.Open() Me.SqlDataAdapter1.Update(DataSet11) DataSet11.AcceptChanges() Catch ex As Exception MessageBox.Show(ex.Message) Finally Me.SqlConnection1.Close() End Try End Sub Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click Try If (Me.BindingContext(DataSet11, "Region").Count > 0) Then Me.BindingContext(DataSet11, "Region").RemoveAt(Me.BindingContext(DataSet11, "Region").Position) End If Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click End End Sub
Learn Japanese :>>> http://www.nouben.com/
]تسلم ايدك شغال 100%
اشكرك جدا ياخى واسف على ازعاجك هذة اول تجربة لى فى برمجة ADO
وشكرا جدا ايوة فعلا انا مصرى وارجوا انا اعرف الايميل الخاص بك للتواصل عبر الايميل
وشكرا مرة اخرى
الفريق المصري للبرمجة
تحليل وتصميم برامج قواعد بيانات لاتصال بينا masry4u@hotmail.com
حياك الله يا أخي وأنا بالخدمة دائماً، ها هو إيميلي:
haroon68@yahoo.com
Learn Japanese :>>> http://www.nouben.com/
السلام
اخوي HMS
انا عندي نفس البرنامج تقريبا بس الخذف يحذف من الفورم فقط امام جدول الاكسس مايحذف فيه شي ابدا
واذا حفظت يحفظ اذا كان جديد اما بعد التعديل او الحذف مايحفظ ارجوا مساعدتي
وشكرا
هذا الموضوع مغلق.