עדכון בסיס נתונים

yossikz

New member
עדכון בסיס נתונים

אני מקבל הודעת שגיאה בהצבה של הנתונים למשתנה sqlStr. 1. איפה הטעות ? 2. איך אני מציג ע"ג המסך את השדה sqlStr כדי לראות את הבניה של המשפט? מצ"ב הקוד הרלבנטי
 

nirtheking

New member
שני דברים ../images/Emo13.gif

1. תראה את השגיאה 2. נסה לעשות את השורת SQL בשורה אחת בלי לרדת שורה
 

yossikz

New member
שורה אחת

הורדתי הכל לשורה אחת sqlStr = "UPDATE Products SET ProductName=' " + strPName & "', unitPrice=" + dblPrice.ToString & "', WHERE ProductID= " & +intPid.ToString השגיאה המתקבלת היא Exception Details: System.Data.OleDb.OleDbException: ‏‏‎‏‏שגיאת תחביר (אופרטור חסר) בביטוי השאילתה '' Chef Anton's Cajun Seasoning', unitPrice=66''.
 

nirtheking

New member
חסר לך גרש לפני הערך של unitPrice

sqlStr = "UPDATE Products SET ProductName=' " + strPName & "', unitPrice=' " + dblPrice.ToString & "', WHERE ProductID= " & +intPid.ToString​
 

yuval k

New member
unitPrice הוא מספרי?

יש לך גרש מיותר אחריו, אם כן, וחסר אחד לפניו, אם לא.
 

yossikz

New member
אודה לך

אודה לך על התיקון. ניסיתי אבל אני ממשיך לקבל שגיאה
 

yossikz

New member
ובכן

השורה המתוקנת היא sqlStr = "UPDATE Products SET ProductName=' " + strPName & "', 'unitPrice= " + dblPrice.ToString & "', WHERE ProductID= " & +intPid.ToString מצ"ב גם Stack Trace
 

nirtheking

New member
יש לך + במשפט שאתה לא צריך

UPDATE Products SET ProductName=' " & strPName & "', 'unitPrice= " + dblPrice.ToString & "', WHERE ProductID= " & intPid.ToString​
 

yossikz

New member
end of statement

הורדת ה + נותנת שגיאה שהוא מצפה ל end of statement
 

yuval k

New member
הא, כמובן

sqlStr = "UPDATE Products SET ProductName='" & strPName & "', unitPrice=" & dblPrice.ToString() & " WHERE ProductID=" & intPid.ToString()​
 

yossikz

New member
מצרה לצרה

התיקון מאפשר את העריכה אבל העדכון לא נשמר. למה ?
 

yuval k

New member
יש שגיאה כלשהי?

אם לא, בדוק שאכן התנאי של ה-where מתקיים.
 

yossikz

New member
בדיקת התנאי

אין שגיאה. אני מציג טבלה ועורך שורה ע"י לחיצה על edit ובסיום על update איך אני יכול להציג ע"ג המסך את הערך שעובר לשדה intPid
 
למעלה