בעיה בחיבור למסד נתונים דרך ASP - עמוד 2 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

בעיה בחיבור למסד נתונים דרך ASP


ניר.

Recommended Posts

  • תגובות 90
  • נוצר
  • תגובה אחרונה

משתתפים בולטים בדיון

משתתפים בולטים בדיון

שמע אתה מה זה עקשן

אנחנו נורא רוצים לעזור לך

אבל אתה לא טורח לבדוק את משפט ה- update הסופי כפי שנשלח ל- access

תבדוק את המשפט ואני מאמין שגם אתה מיד תגלה מה הבעיה

debug בסיסי ראבק

קישור לתוכן
שתף באתרים אחרים

זה תקין, לכאורה

sqlCmd = "UPDATE users SET firstname='" & firstname & "',lestname='" & lestname & "',age='" & age & "',sex='" & sex
sqlCmd = sqlCmd & "',password='" & password & "',street='" & street & "',homenumber='" & homenumber& "',city='" & city
sqlCmd = sqlCmd & "',more='" & more & "' WHERE username='" & username & "'"

התוצאה של שרשור כל המחרוזת היא לא תקינה עבור התחביר של access זה מה שהמנוע של access מנסה להגיד לך בהודעת השגיאה שלו

קישור לתוכן
שתף באתרים אחרים

לפי התחביר סדר הכנסת הנתונים בשרשור הוא לפי הסדר שהוגדר המסד....

כאשר ביצעתי את השרשור עבדתי מול המסד כדי לראות את הסדר....

הבעיה היא לא בשירשור אלה בשורה שנתתי בהודעה הראשונה...

כיצד פותרים את הבעיה שבשורה הזאת ?[br]פורסם בתאריך: 2.06.2007 בשעה 16:59:31


הקוד המעודכן :


<%
if session("iao")="no" Then
response.redirect("admin.html")
end if
%>
<HTML>
<HEAD>
<TITLE>עדכון</TITLE>
</HEAD>
<BODY>
<%
'======= שליפת נתוני המשתמש מהטופס =======
username = Request.Form("username")
password = Request.Form("password")
firstname = Request.Form("firstname")
lestname = Request.Form("lestname")
sex = Request.Form("sex")
age = Request.Form("age")
street = Request.Form("street")
homenumber = Request.Form("homenumber")
city = Request.Form("city")
more = session("more")
internet = session("internet")
freetext = Request.Form("freetext")

'======= חיבור למסד הנתונים ופתיחתו =======
Set con = Server.CreateObject("ADODB.connection")
con.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db/members.mdb"))



'=========== בדיקה האם כבר קיימת רשומת משמתמש בטבלה ==========
sqlSelectCmd = "SELECT * FROM users WHERE username='" & username & "'"
Set rec = con.Execute(sqlSelectCmd)

If (rec.EOF = True) Then
'======= החזרת תשובה ללקוח שפעולת העדכון לא בוצעה כי לא קיים משתמש כזה =======
Response.Write("<html><body dir='rtl'><h1><center>משתמש לא קיים בטבלה!</center></h1></body></html>")
Else
'======= בניית הפקודה לעדכון נתוני המשתמש בטבלה =======
sqlCmd = "UPDATE users SET firstname='" & firstname & "',lestname='" & lestname & "',age='" & age & "',sex='" & sex
sqlCmd = sqlCmd & "',pw='" & password & "',street='" & street & "',homenumber='" & homenumber& "',city='" & city
sqlCmd = sqlCmd & "',freetext='" & freetext & "' & "',more='" & more & "' & "',internet='" & & "' WHERE username='" & username & "'"
'======= עדכון רשומת המשתמש בנתונים =======
con.Execute(sqlCmd)
'Response.Write(sqlCmd)
'======= החזרת תשובה ללקוח שפעולת העדכון בוצעה בהצלחה =======
Response.Write("<html><body dir='rtl'><h1><center>נתוני המשתמש עודכנו בהצלחה!</center></h1></body></html>")
End If

'======= סגירת מסד הנתונים =======
rec.Close()
con.Close()
%>
</BODY>
</HTML>

השורה הבעיתית :

con.Execute(sqlCmd)

קישור לתוכן
שתף באתרים אחרים

מה שהוא מציג זה את הדבר הבא:


UPDATE users SET firstname='ניר',lestname='.',age='17.5',sex='male',pw='1111',street='',homenumber='',city='',freetext='שלום לכם' &

השרשור חייב להתבצע בשורה אחת או שניתן לפצל אותו לכמה שורות כמו שאני רשמתי בהודעה הנ"ל ?

קישור לתוכן
שתף באתרים אחרים

שורת הקוד היא :


sqlCmd = "UPDATE users SET firstname='" & firstname & "',lestname='" & lestname & "',age='" & age & "',sex='" & sex
sqlCmd = sqlCmd & "',pw='" & pw & "',street='" & street & "',homenumber='" & homenumber& "',city='" & city
sqlCmd = sqlCmd & "',text='" & text & "'"',more='" & more & "'"',internet='" & & "' WHERE username='" & username & "'"

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.


×
  • צור חדש...