المشاركات : 11
المواضيع 3
الإنتساب : Apr 2016
السمعة :
0
الشكر: 4
تم شكره 14 مرات في 12 مشاركات
السلام عليكم ورحمة الله وبركاته
عندما اقوم بحفظ البيانات في قاعدة البيانات SQL Server تظهر مشكلة في احد الحقول للعلم من خلال عمليه تتبع البرنامج يمر على الحقلين اللذان قبله وعندما يصل لهذا الحقل يعطي المشكلة التالية.
An unhandled exception of type 'System.ArgumentException' occurred in System.Data.dll
Additional information: Column 'dtstartspical' does not belong to table .
بارك الله فيكم
المشاركات : 476
المواضيع 33
الإنتساب : Mar 2014
السمعة :
175
الشكر: 366
تم شكره 1393 مرات في 471 مشاركات
اعطنا تفاصيل عن الجدول الذي به المشكلة وعن الجملة المستخدمة في الاستعلام والكود
المشاركات : 11
المواضيع 3
الإنتساب : Apr 2016
السمعة :
0
الشكر: 4
تم شكره 14 مرات في 12 مشاركات
فكرة العمل هي تفعيل للمشتركين في الانترنت ويسجلها في جدول التفعيل وهذة تمام لكن في حالة عدم سداد المشترك للقيمة يسجل قيمة المستحقة في جدول الديون
الذي يحتوي على الرقم ، اسم المستخدم ، قيمة الدين الخاصة ، تاريخ الدين ، قيمة السداد ، تاريخ السداد، الحالة 1 " الحالة 1" خالص او غير خالص ، قيمة دين الشركة ، تاريخ الدين ، قيمة السداد ، تاريخ السداد ، الحالة 2
فكرة العمل انه عند التفعيل للمشترك اذا دفع القيمة يسجل فقط في دجدول التفعيل واذا عليه دين يسجل في الجدولين
Private Sub btActive_Click(sender As Object, e As EventArgs) Handles btActive.Click
'Try
Dim DT As New DataTable
Dim DA As New SqlClient.SqlDataAdapter("select * from tbActivation ", CON)
DA.Fill(DT)
Dim DR = DT.NewRow
DR!code = txtcode.Text
DR!username = txtusername.Text
DR!fullname = txtfullname.Text
DR!dtstart = dtStart.Value
DR!cards = comcards.Text
DR!price = txtprice.Text
DR!dtexpired = dtStart.Value.AddMonths(1)
If Val(txtdept.Text > 0) Then
Dim myDateF As Date
myDateF = Format(Now(), "short date")
Dim DT1 As New DataTable
Dim DA1 As New SqlClient.SqlDataAdapter("SELECT * FROM TBdEPT", CON)
DA1.Fill(DT1)
Dim DR1 = DT1.NewRow
txtdeptcode.Text = code_max("tbdept", "codedept")
DR1!codedept = txtdeptcode.Text
DR1!username = txtusername.Text
DR!dtstartspical = TextBox2.Text
DR!dtendspical = myDateF
DR1!deptzajelprice = txtdept.Text
DR1!dtstartzajel = dtStart.Value
DR1!payzajeldept = "0.00"
DR1!dtendzajel = dtStart.Value
DR1!zajelstatus = False
DT1.Rows.Add(DR1)
Dim SAVE1 As New SqlClient.SqlCommandBuilder(DA1)
DA1.Update(DT1)
End If
DT.Rows.Add(DR)
Dim SAVE As New SqlClient.SqlCommandBuilder(DA)
DA.Update(DT)
MessageBox.Show("تمت عملية الحفظ", "تأكيد", MessageBoxButtons.OK, MessageBoxIcon.Information)
cmdnew_Click(sender, e)
'Catch ex As Exception
' MsgBox(ex.Message, vbCritical)
'End Try
End Sub
المشاركات : 21
المواضيع 0
الإنتساب : Nov 2020
السمعة :
7
الشكر: 99
تم شكره 39 مرات في 20 مشاركات
27-11-20, 03:53 PM
(آخر تعديل لهذه المشاركة : 27-11-20, 04:03 PM {2} بواسطة mir2.)
اتضح ان DR يخص الجول tbActivation
وان DR1 يخص الجدول TBdEPT
والحقل dtstartspica يخص TBdEPT يعني DR1
فيكون DR1!dtstartspical = TextBox2.Text
وايضا DR1!dtendspical = myDateF
ولو انك كتبتهم
tbActivation_DR
TBdEPT_DR
يكون اوضح في الكود
المشاركات : 11
المواضيع 3
الإنتساب : Apr 2016
السمعة :
0
الشكر: 4
تم شكره 14 مرات في 12 مشاركات
شكرا جزيلا لك من شارك وتغاعل
وشكر خاص mir2 فعلا لازم تكون المسميات دات مضمون ومن ملاحظتك توصلت للمشكلة
DR!dtstartspical = TextBox2.Text
DR!dtendspical = myDateF
تتغير DR الى DR1 وتمت عملية الحفظ
شكرا جزيلا