السلام عليكم
عندي برنامج مربوط بقاعدة بيانات عن طريق الكود
فمت بعمل زر حفظ ووضعت كوود الحفظ
اثناء عمل البرنامج كل شي تمام
عندما اغلق البرنامج واقوم بتشغيل مرة أخرى افاجأ انه لم يحفظ أي شي
انا استخدم الكود هذا للتعديل
كود :
Private Sub Update_Studant(ByVal ID As Integer, ByVal DicName As String, ByVal DicNo As String, ByVal Issu As String, ByVal Exp As String)
Dim sSQL As String = "Update DicT set ID=@ID,DicName=@DicName,DicNo=@DicNo,Issu=@Issu,Exp=@Exp where ID=" & Me.cmbID.Text & ""
Dim cmd As New OleDbCommand(sSQL, Con)
cmd.Parameters.Add(New OleDbParameter("@ID", OleDbType.VarWChar)).Value = ID
cmd.Parameters.Add(New OleDbParameter("@DicName", OleDbType.VarWChar)).Value = DicName
cmd.Parameters.Add(New OleDbParameter("@DicNo", OleDbType.VarWChar)).Value = DicNo
cmd.Parameters.Add(New OleDbParameter("@Issu", OleDbType.VarWChar)).Value = Issu
cmd.Parameters.Add(New OleDbParameter("@Exp", OleDbType.VarWChar)).Value = Exp
If Con.State = ConnectionState.Open Then Con.Close()
Con.Open()
cmd.ExecuteNonQuery()
Con.Close()
MessageBox.Show("Update SuccessFully", "Update", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Sub
وعليك السلام ورحمة الله
اعتقد ان سبب عدم الحفظ هو انك لم تضع فاصلة التعليق " ' " في جملة الاستعلام
حاول تعدل السطر التالي في كودك
كود :
where ID=" & Me.cmbID.Text & ""
الى
كود :
where ID='" & Me.cmbID.Text & "'"
لكن برضو لو كان هذا السبب فلابد ينتج الفيجوال بيسك رسالة خطأ عند اختبار الكود
تأكد انك لا تحيط الكود لديك بجملة try.. catch
الف شكر اخوي على المرور
انا عملت جميع الاحتمالات
عملت ' " & & " '
وبالنسبة ل Try
عاملها في زر امر الحفظ
ولكن دون جدوى
هناك سبب اخر ويبدو انه هو الارجح
وهو انك عندما اضفت مصدر البيانات في الفيجوال بيسك الى برنامجك اخترت ان يحفظ الفيجوال بيسك ملف قاعدة البيانات
في مجلد غير مجلد الاخراج bin\Debug ومن هنا هذا يجعل الفيجوال بيسك يقوم بنسخ ملف قاعدة البيانات
الى مجلد الاخراج في كل مرة .
جرب وابحث في مجلدات برنامجك اثناء تشغيله فسوف تجد على الارجح ملفين لقاعدة البيانات واحد في المجلد الذي يحمل
اسم برنامجك والثاني في مجلد الاخراج
واذا كان هذا هو السبب فالحل يكون بحذف الملف ذا التنسيق .xsd من نافذة Solution Explorer ومن ثم اضافته من جديد
لكن مع الانتباه الى ان تختار No اذا ضهرت لك رسالة يسالك الفيجوال بيسك هل تريد نسخ ملف قاعدة البيانات
الف شكر اخوي معاند
فعلا لاحظت ان البرنامج يعمل نسخة في bin\Debug
ولكن ما حصلت الملف الي تقول عليه
الي تنسيقه .XSD في Solution Explorer
ما هو الحل
طيب ممكن ترفع نسخه من برنامجك عشان اشوفها وارد عليك
بس عشان ما اطول عليك بالرد ونفس الوقت اعطيك جواب صحيح
باختصار السبب في عدم الحفظ ليس ان برنامجك لا يحفظ التعديل
لكن لانه يحفظ التعديل في ملف قاعدة البيانات الاخر غير الذي تستخدمه او الذي تريد استخدامه لحفظ البيانات
شاهد هذا الفيديو وان شاء الله تحل المشكلة
واذا ماكان الحل واضح فياليت ترفع مشروعك
واعتذر اذا لم استطع المساعدة
اوك ولا يهمك
هذا هو :[attachment=23713]
شكرا اخوي عناد
حلت المشكلة
بفضل الله ثم مجهودك
الله يكثر من امثالك
اخي قم بتعديل جملة الاتصال والموجودة في الملف Module1.vb
من هذي
كود :
Dim Str As String = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=DicData.MDB;Persist Security Info=False"
الى هذي
كود :
Dim Str As String = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=المسار الكامل لمكان ملف قاعدة البيانات;Persist Security Info=False"
مثلا
كود :
Dim Str As String = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=D:\VB Tools\net\net\WindowsApplication5\WindowsApplication5\DicData.MDB;Persist Security Info=False"
الحمدلله اخوي
يسرني المساعدة