خطأ في الحفظ - nourmandour - 11-04-19
برجاء المساعدة أنا جديد علي الفيجوال نت
بيظهر خطأ في حفظ بينات الداتا جريد لقاعدة البيانات
المثال في المرفقات
RE: خطأ في الحفظ - elgokr - 12-04-19
مرحباً اخى nourmandour
للاسف لا يمكننى التعديل على المشروع المرفق
واعادة ارساله لك بسبب اختلاف الاصدار
ولكن يمكنك تعديل على السورس لديك
بنائاً لما ساقوم بشرحه الان
تعال على كود الحفظ خاص الحدث Button2_Click
واستبدل كامل الكود بداخله بهذا الكود
كود :
For i As Integer = 0 To dgrid.RowCount - 1
Dim sql As String = "INSERT INTO fat_ba (id, numb, [date], sdad, amel, mgma, sanf, kmea, sar, agmale, mdfa) Values (@id, @numb, @date, @sdad, @amel, @mgma, @sanf, @kmea, @sar, @agmale, @mdfa)"
Dim cm As New OleDb.OleDbCommand(sql, conn)
Dim sdad As String = ""
If RadioButton1.Checked = True Then
sdad = "نقدي"
ElseIf RadioButton2.Checked = True Then
sdad = "اجلة"
ElseIf RadioButton3.Checked = True Then
sdad = "جزء نقضي"
End If
With cm.Parameters
.AddWithValue("@id", TextBox1.Text).DbType = DbType.String
.AddWithValue("@numb", dgrid.Rows(i).Cells(0).Value).DbType = DbType.Int32
.AddWithValue("@date", TextBox2.Text).DbType = DbType.String
.AddWithValue("@sdad", sdad).DbType = DbType.String
.AddWithValue("@amel", ComboBox2.Text).DbType = DbType.String
.AddWithValue("@mgma", dgrid.Rows(i).Cells(1).Value).DbType = DbType.String
.AddWithValue("@sanf", dgrid.Rows(i).Cells(2).Value).DbType = DbType.String
.AddWithValue("@kmea", dgrid.Rows(i).Cells(3).Value).DbType = DbType.Int32
.AddWithValue("@sar", dgrid.Rows(i).Cells(4).Value).DbType = DbType.Currency
.AddWithValue("@agmale", dgrid.Rows(i).Cells(5).Value).DbType = DbType.Currency
.AddWithValue("@mdfa", 0).DbType = DbType.Currency
End With
If (conn.State = ConnectionState.Open) Then conn.Close()
conn.Open()
cm.ExecuteNonQuery()
conn.Close()
Next
MsgBox("تم الحفظ")
قم بفتح شاشة mdconn
واستبدل كامل الكود بها بهذا الكود
كود :
Imports System.Data.OleDb
Module mdconn
Public conn As New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" & Application.StartupPath & "\data_1.mdb;user id=admin;jet oledb:database password=123")
End Module
بالنهاية لا تنسي ان تجعل السورس يعمل على بيئة 32Bit
من الواضح ان جهازك يعمل على بيئة 32Bit
لذلك لم يحدث معك اى مشكلة ولكن عند اختبار البرنامج
على جهاز من بيئة 64Bit فلا يمكنك تشغيل البرنامج لذلك حرصاً اجعل
البرنامج على بيئة 32Bit
تحياتى لك
وتمنياتى لك التوفيق
RE: خطأ في الحفظ - nourmandour - 12-04-19
(12-04-19, 12:15 AM)elgokr كتب : مرحباً اخى nourmandour
للاسف لا يمكننى التعديل على المشروع المرفق
واعادة ارساله لك بسبب اختلاف الاصدار
ولكن يمكنك تعديل على السورس لديك
بنائاً لما ساقوم بشرحه الان
تعال على كود الحفظ خاص الحدث Button2_Click
واستبدل كامل الكود بداخله بهذا الكود
كود :
For i As Integer = 0 To dgrid.RowCount - 1
Dim sql As String = "INSERT INTO fat_ba (id, numb, [date], sdad, amel, mgma, sanf, kmea, sar, agmale, mdfa) Values (@id, @numb, @date, @sdad, @amel, @mgma, @sanf, @kmea, @sar, @agmale, @mdfa)"
Dim cm As New OleDb.OleDbCommand(sql, conn)
Dim sdad As String = ""
If RadioButton1.Checked = True Then
sdad = "نقدي"
ElseIf RadioButton2.Checked = True Then
sdad = "اجلة"
ElseIf RadioButton3.Checked = True Then
sdad = "جزء نقضي"
End If
With cm.Parameters
.AddWithValue("@id", TextBox1.Text).DbType = DbType.String
.AddWithValue("@numb", dgrid.Rows(i).Cells(0).Value).DbType = DbType.Int32
.AddWithValue("@date", TextBox2.Text).DbType = DbType.String
.AddWithValue("@sdad", sdad).DbType = DbType.String
.AddWithValue("@amel", ComboBox2.Text).DbType = DbType.String
.AddWithValue("@mgma", dgrid.Rows(i).Cells(1).Value).DbType = DbType.String
.AddWithValue("@sanf", dgrid.Rows(i).Cells(2).Value).DbType = DbType.String
.AddWithValue("@kmea", dgrid.Rows(i).Cells(3).Value).DbType = DbType.Int32
.AddWithValue("@sar", dgrid.Rows(i).Cells(4).Value).DbType = DbType.Currency
.AddWithValue("@agmale", dgrid.Rows(i).Cells(5).Value).DbType = DbType.Currency
.AddWithValue("@mdfa", 0).DbType = DbType.Currency
End With
If (conn.State = ConnectionState.Open) Then conn.Close()
conn.Open()
cm.ExecuteNonQuery()
conn.Close()
Next
MsgBox("تم الحفظ")
قم بفتح شاشة mdconn
واستبدل كامل الكود بها بهذا الكود
كود :
Imports System.Data.OleDb
Module mdconn
Public conn As New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" & Application.StartupPath & "\data_1.mdb;user id=admin;jet oledb:database password=123")
End Module
بالنهاية لا تنسي ان تجعل السورس يعمل على بيئة 32Bit
من الواضح ان جهازك يعمل على بيئة 32Bit
لذلك لم يحدث معك اى مشكلة ولكن عند اختبار البرنامج
على جهاز من بيئة 64Bit فلا يمكنك تشغيل البرنامج لذلك حرصاً اجعل
البرنامج على بيئة 32Bit
تحياتى لك
وتمنياتى لك التوفيق
الف الف الف شكرا
وتسلم ايدك
في استفسار بخصوص 32bit يعني البرنامج
بعد ما يخلص موش يشتغل علي اي نسخة غير 32 bit
RE: خطأ في الحفظ - elgokr - 12-04-19
الشكر لله والحمد لله
والحمد لله على كل حال
بخصوص بيئة الـ 32Bit للبرنامج
فهو يعملى على نظام 32Bit و 64Bit
عكس 64Bit لا يمكن العمل على 32Bit
والمقصود بانك تجعل البرنامج على بيئة 32Bit
وهنا ليتم استعمال ملفات الـ Dll خاص بالاتصال بقاعدة البيانات
لان الاصدارا المستخدم لا يحتاج
الى تثبيت اى اضافات مع البرنامج على الجهاز الاخر
لان بطبيعة الحال اى نسخة Windows تحتوى على ملفات Dll
تخص هذا الاتصال ولكن الملفات ببيئة 32Bit
لهذا السبب سيحدث مشكلة
اذا تم فتح البرنامج على نظام 64Bit
بدون تعديل بيئة البرنامج نفسه
اتمنى ان تكون الصورة وضحت لك كاملاً
تحياتى لك
وتمنياتى لك التوفيق
|