منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
هذا الحقل لايشير الى الجدول ؟ - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : هذا الحقل لايشير الى الجدول ؟ (/showthread.php?tid=37032)



هذا الحقل لايشير الى الجدول ؟ - Abuzakria - 27-11-20

السلام عليكم ورحمة الله وبركاته

عندما اقوم بحفظ البيانات في قاعدة البيانات SQL Server تظهر مشكلة في احد الحقول للعلم من خلال عمليه تتبع البرنامج يمر على الحقلين اللذان  قبله وعندما يصل لهذا الحقل يعطي المشكلة التالية.

An unhandled exception of type 'System.ArgumentException' occurred in System.Data.dll

Additional information: Column 'dtstartspical' does not belong to table .

بارك الله فيكم


RE: هذا الحقل لايشير الى الجدول ؟ - Anas Mahmoud - 27-11-20

اعطنا تفاصيل عن الجدول الذي به المشكلة وعن الجملة المستخدمة في الاستعلام والكود


RE: هذا الحقل لايشير الى الجدول ؟ - Abuzakria - 27-11-20

فكرة العمل هي تفعيل للمشتركين في الانترنت ويسجلها في جدول التفعيل وهذة تمام لكن في حالة عدم سداد المشترك للقيمة يسجل قيمة المستحقة في جدول الديون
الذي يحتوي على الرقم ، اسم المستخدم ، قيمة الدين الخاصة ، تاريخ الدين ، قيمة السداد ، تاريخ السداد، الحالة 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


RE: هذا الحقل لايشير الى الجدول ؟ - mir2 - 27-11-20

اتضح ان DR يخص الجول tbActivation
وان DR1 يخص الجدول TBdEPT

والحقل dtstartspica يخص TBdEPT يعني DR1
فيكون DR1!dtstartspical = TextBox2.Text
وايضا DR1!dtendspical = myDateF

ولو انك كتبتهم
tbActivation_DR
TBdEPT_DR
يكون اوضح في الكود


RE: هذا الحقل لايشير الى الجدول ؟ - Abuzakria - 27-11-20

شكرا جزيلا لك من شارك وتغاعل
وشكر خاص mir2 فعلا لازم تكون المسميات دات مضمون ومن ملاحظتك توصلت للمشكلة
DR!dtstartspical = TextBox2.Text
DR!dtendspical = myDateF

تتغير DR الى DR1 وتمت عملية الحفظ
شكرا جزيلا