PDA

View Full Version : مشکل کد زیر چیست ؟ ( Update )



Hossein Bazyan
یک شنبه 26 اسفند 1386, 20:13 عصر
سلام
من کد زیر را برای ویرایش نوشته ام اما خطای Syntax error in Update statment میدهد


Dim insertsql AsString
Dim con As OleDbConnection
Dim cmd As OleDbCommand
Dim Password AsString
Dim MSG AsString
Try
insertsql = "UPDATE Users SET "
insertsql = insertsql & "NaamProfessional='" & txtNaamProfessional.Text & "', "
insertsql = insertsql & "Usernaam='" & txtUserName.Text & "', "
insertsql = insertsql & "Password='" & Password & "', "
insertsql = insertsql & "Access='" & Trim(AccessCode) & "', "
insertsql = insertsql & "Active=" & ActiveStat
insertsql = insertsql & " WHERE ID=" & OpGeIDFromGridviewU
MSG = "De user is veranderd."
con = New OleDbConnection(Variable.GetProvider())
con.Open()
cmd = New OleDbCommand(insertsql, con)
cmd.ExecuteNonQuery()
con.Close()
MsgBox(MSG)
Catch ex As Exception
MessageBox.Show(ex.Message, "Fout", MessageBoxButtons.OK, MessageBoxIcon.Warning)
EndTry
Me.Close()

اگر سطر
insertsql = insertsql & "Password='" & Password & "', "
را حذف میکنم به درستی کار میکنه اما با وجود این خط عکل ویرایش انجام نشده و پیغام فوق صادر میشه .
فیلد Password از نوع رشته ای میباشد.

choobin84
یک شنبه 26 اسفند 1386, 20:41 عصر
اگر سطر
را حذف میکنم به درستی کار میکنه اما با وجود این خط عکل ویرایش انجام نشده و پیغام فوق صادر میشه .
فیلد Password از نوع رشته ای میباشد.
اگر کد به صورتی باشه که در بالا نوشته اید، جواب نمیده. رشته insertsql مرتبا با یک مقدار جدید پر میشه. و نهایتا رشته مورد نظر where id = خواهد بود.
اما مشکلی که گفته اید مربوط به این است که password جزو کلمات کلیدی sql هست و اونو هماندد users به passwords تغییر بدهید.

Hossein Bazyan
یک شنبه 26 اسفند 1386, 22:21 عصر
اگر کد به صورتی باشه که در بالا نوشته اید، جواب نمیده. رشته insertsql مرتبا با یک مقدار جدید پر میشه. و نهایتا رشته مورد نظر where id = خواهد بود.
اما مشکلی که گفته اید مربوط به این است که password جزو کلمات کلیدی sql هست و اونو هماندد users به passwords تغییر بدهید.
سلام

دقیقا مشکل همان بود password یکی از کلمات کلیدی sql است این را میدانستم اما به این دلیل اشتباه میکردم که در خواندن اطلاعات اشتباه نمیگرفت . به هر حال درست شد مرسی