منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] مشكلة فى كود حفظ بالداتا بيز - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم أسئلة قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=41)
+--- الموضوع : [VB.NET] مشكلة فى كود حفظ بالداتا بيز (/showthread.php?tid=3798)



مشكلة فى كود حفظ بالداتا بيز - egyman - 11-09-14

إقتباس : Private Sub Save_Record()
Dim conn As New OleDbConnection
Dim cmd As New OleDbCommand
Dim sSQL As String = String.Empty


Try
'get connection string declared in the Module1.vb and assing it to conn variable
conn = New OleDbConnection(Get_Constring)
conn.Open()
cmd.Connection = conn
cmd.CommandType = CommandType.Text

sSQL = "INSERT INTO [Main] (Code, txtLastName, dtpDOB, area, line, note)"
sSQL = sSQL & " VALUES(@fileno, @drname, @date, @area, @line, @note)"
cmd.CommandText = sSQL


'set paramaters
cmd.Parameters.Add("@fileno", OleDbType.VarChar).Value = IIf(Len(Trim(Me.Code.Text)) > 0, Me.Code.Text, DBNull.Value)
cmd.Parameters.Add("@drname", OleDbType.VarChar).Value = IIf(Len(Trim(Me.txtLastName.Text)) > 0, Me.txtLastName.Text, DBNull.Value)
cmd.Parameters.Add("@area", OleDbType.VarChar).Value = IIf(Len(Trim(Me.area.Text)) > 0, Me.area.Text, DBNull.Value)
cmd.Parameters.Add("@date", OleDbType.Date).Value = IIf(Me.dtpDOB.Text <> " ", Me.dtpDOB.Value, DBNull.Value)
cmd.Parameters.Add("@date", OleDbType.Date).Value = Me.dtpDOB.Text


cmd.Parameters.Add("@line", OleDbType.VarChar).Value = IIf(Len(Trim(Me.line.Text)) > 0, Me.line.Text, DBNull.Value)
cmd.Parameters.Add("@note", OleDbType.VarChar).Value = IIf(Len(Trim(Me.note.Text)) > 0, Me.note.Text, DBNull.Value)

cmd.ExecuteNonQuery()

'If the record is new then we have to get its ID so that we can edit it rightaway after the insertion.

MsgBox("Data has been save.")

Catch ex As Exception
MsgBox(ErrorToString)
Finally
conn.Close()
End Try
End Sub

ما المشكلة فى هذا الكود

تظهر لى رسالة

Syntax error in INSERT INTO statement.


RE: مشكلة فى كود حفظ بالداتا بيز - egyman - 11-09-14

The INSERT INTO statement contains the following unknown field name: 'Code'. Make sure you have typed the name correctly, and try the operation again.
---------------------------
OK
---------------------------
ظهرت تلك الرسالة علماً ان هذا الحقل فى قاعدة البيانات Number

كود :
sSQL = "INSERT INTO [Main] ([Code], [txtLastName], [dtpDOB], [area], [line], [note])"
            sSQL = sSQL & "  VALUES(@fileno, @drname, @date, @area, @line, @note)"
            cmd.CommandText = sSQL
            

            'set paramaters
            cmd.Parameters.Add("@fileno", OleDbType.VarChar).Value = IIf(Len(Trim(Me.Code.Text)) > 0, Me.Code.Text, DBNull.Value)
            cmd.Parameters.Add("@drname", OleDbType.VarChar).Value = IIf(Len(Trim(Me.txtLastName.Text)) > 0, Me.txtLastName.Text, DBNull.Value)
            cmd.Parameters.Add("@date", OleDbType.Date).Value = IIf(Me.dtpDOB.Text <> " ", Me.dtpDOB.Value, DBNull.Value)
            cmd.Parameters.Add("@date", OleDbType.Date).Value = Me.dtpDOB.Text
            cmd.Parameters.Add("@area", OleDbType.VarChar).Value = IIf(Len(Trim(Me.area.Text)) > 0, Me.area.Text, DBNull.Value)
            cmd.Parameters.Add("@line", OleDbType.VarChar).Value = IIf(Len(Trim(Me.line.Text)) > 0, Me.line.Text, DBNull.Value)
            cmd.Parameters.Add("@note", OleDbType.VarChar).Value = IIf(Len(Trim(Me.note.Text)) > 0, Me.note.Text, DBNull.Value)

            cmd.ExecuteNonQuery()



RE: مشكلة فى كود حفظ بالداتا بيز - egyman - 11-09-14

اسماء الحقول فى قاعدة البيانات بالترتيب

كود :
id  = autonumber
fileno = number
drname = text
date = date/time
area = text
line = text
note = memo
قمبت بتغيير اسم الحقل وتذال الرسالة موجودة


RE: مشكلة فى كود حفظ بالداتا بيز - egyman - 11-09-14

الحقل الاول ترقيم تلقائى الرجاء المساعدة


RE: مشكلة فى كود حفظ بالداتا بيز - vbnet - 11-09-14

.....

كود :
' وضع اسم الجدول واسماء الحقول بين أقواس مربعة [] ولكن اسماء البارمترات لا توضع بين أقواس
sSQL = "INSERT INTO [Main] ( [fileno],  [drname], [date], [area], [line], [note] )"
sSQL = sSQL & " VALUES ( @fileno  , @drname, @date, @area, @line, @note )"
cmd.CommandText = sSQL

' في التعامل مع الأكسس ترتيب أسطر البارامترات يجب أن يكون بنفس ترتيب اسمائها في جملة إسكيوإل
cmd.Parameters.AddWithValue("@fileno", Val(Me.Code.Text))
cmd.Parameters.AddWithValue("@drname", Me.txtLastName.Text.Trim)
cmd.Parameters.AddWithValue("@date", Me.dtpDOB.Value)
cmd.Parameters.AddWithValue("@area", Me.area.Text.Trim)
cmd.Parameters.AddWithValue("@line", Me.line.Text.Trim)
cmd.Parameters.AddWithValue("@note", Me.note.Text.Trim)

.....


RE: مشكلة فى كود حفظ بالداتا بيز - egyman - 11-09-14

---------------------------
Address_Book
---------------------------
No value given for one or more required parameters.
---------------------------
OK
---------------------------
تظهر بذالك الكود

بعد تعديلة بالشكل التى
كود :
sSQL = "INSERT INTO [Main] ( [txtcode],  [drname], [dtpDOB], [area], [line], [note] )"
            sSQL = sSQL & " VALUES ( @fileno  , @drname, @date, @area, @line, @note )"
            cmd.CommandText = sSQL

            ' في التعامل مع الأكسس ترتيب أسطر البارامترات يجب أن يكون بنفس ترتيب اسمائها في جملة إسكيوإل
            cmd.Parameters.AddWithValue("@fileno", Val(Me.txtcode.Text))
            cmd.Parameters.AddWithValue("@drname", Me.txtLastName.Text.Trim)
            cmd.Parameters.AddWithValue("@date", Me.dtpDOB.Value)
            cmd.Parameters.AddWithValue("@area", Me.area.Text.Trim)
            cmd.Parameters.AddWithValue("@line", Me.line.Text.Trim)



RE: مشكلة فى كود حفظ بالداتا بيز - vbnet - 11-09-14

.....

الحقل [dtpDOB] ليس من الحقول التي ذكرتها حضرتك في المشاركة #3 فكيف ذلك!!!!!!!!!!!!!!!!!!!!!!!!

الكود الأخير التي وضعته لك في المشاركة #5 كان مطابقاً للحقول التي ذكرتها حضرتك في المشاركة #3 .

.....


RE: مشكلة فى كود حفظ بالداتا بيز - egyman - 13-09-14

(11-09-14, 02:54 PM)vbnet كتب : .....

كود :
' وضع اسم الجدول واسماء الحقول بين أقواس مربعة [] ولكن اسماء البارمترات لا توضع بين أقواس
sSQL = "INSERT INTO [Main] ( [fileno],  [drname], [date], [area], [line], [note] )"
sSQL = sSQL & " VALUES ( @fileno  , @drname, @date, @area, @line, @note )"
cmd.CommandText = sSQL

' في التعامل مع الأكسس ترتيب أسطر البارامترات يجب أن يكون بنفس ترتيب اسمائها في جملة إسكيوإل
cmd.Parameters.AddWithValue("@fileno", Val(Me.Code.Text))
cmd.Parameters.AddWithValue("@drname", Me.txtLastName.Text.Trim)
cmd.Parameters.AddWithValue("@date", Me.dtpDOB.Value)
cmd.Parameters.AddWithValue("@area", Me.area.Text.Trim)
cmd.Parameters.AddWithValue("@line", Me.line.Text.Trim)
cmd.Parameters.AddWithValue("@note", Me.note.Text.Trim)

.....

الرجاء مراجعه اول الكود وسوف ترا بنفسك انه موجود من البداية

المشكلة لسة موجودة