313
צפיות
צפיות
14
תשובות
תשובות
יש לי בעיה קטנה…
שלום לכולם…
יש לי בעיה קטנה…
אני בונה מועדון חברים, ואני מנסה לעשות איזכור ססמא.
אני מקבל את האימייל של המשתמש… ואז לא נכנס לי לראש איך לשלוף את הססמא שלו שנמצאת בעצם באותה שורה… ולא בא לי לראש איך לעשות את זה…
אז בבקשה… אתם יכולים לעזור לי???
בתודה, איליה
14 תשובות
שאילתה פשוטה
SQL = "SELECT password FROM users WHERE email='"&Request.Form("email")&"'"
rs.Open SQL, Conn
If not rs.EOF Then
Response.Write "סיסמתך היא: " & rs("password")
Else
Response.Write "כתובת הדוא""ל שצויינה לא קיימת במסד"
End If
rs.Close
שיו נכון!!! תודה רבה!!!
עוד שאלה
שלום לכולם…
יש לי את הקוד:
Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT pwd, usrname FROM users WHERE mail='"&Request.Form("email")&"'"
rs.Open SQL, conn, 1, 1
ואני מקבל פה:
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC driver does not support the requested properties.
/maarechet/data/forgot_send.asp, line 23
אני לא מבין למה לעזעזל???
תעבור לחיבור Jet
סליחה אבל…
סליחה אבל… חיבור מה???
חיבור JET
תחליף את החיבור שלך לזה:
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db.mdb")
כמובן ש-db.mdb הינו שם מסד הנתונים שלך.
תודה וגם…
מה ההבדל בין 2 החיבורים השונים???
אף פעם לא שמתי לב שיש 2 שונים…
עוד משהו קטן…
אתם לא הסברתם את כל הנושא הזה טוב במדריך פה באתר…
יש לי את השגיאה:
Error Type:
Microsoft JET Database Engine (0x80040E10)
No value given for one or more required parameters.
/maarechet/data/forgot_send.asp, line 23
וזה נובע מזה שעכשיו עשיתי חיבור JET אבל יצירת הרקורדסט נישארה אותו הדבר…
מישהו יכול לעזור???
מספר דברים
1. למה לא שירשרת את הודעתך להודעה הקיימת?? קרא תקנון פורום.
2. מה בדיוק לא הסבירו היטב במדריך באתר? אין לי מושג על מה אתה מדבר.
3. תציג את שורות 20-26 ותדגיש כאן בפורום את שורה 23.
הנה…
את השגיאה ראית…
אז הנה בקשה… הקוד…
dim M, mail, found, usr, pwd
found = 0
mail = request.form("email")
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("m.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT pwd, usrname FROM users WHERE mail='"&Request.Form("email")&"'"
rs.Open SQL, conn, 1, 1
for index=1 to rs.recordcount
if mail = rs("email") then found = 1
rs.movenext
next
if found = 1 then
שורה 23 מודגשת אצלי…
ובמדריך באתר לא מוסבר על 2 סוגי חיבורים לבסיס הנתונים…
מה השוני…
למה משתמשים בזה למה בשני…
אוקי
1. בנושא חיבורים למסד הנתונים.
2. בשאילתה אתה שולף רק את השם משתמש וסיסמא אך אתה מנסה להשתמש גם באימייל. תוסיף אותו לשאילתה.
אההה…
תודה רבה…
תודה רבה לך….
באמת תודה…
…
באדיבות ילד כחול 
הראשון זה ODBC והשני זה OLEDB.
מומלץ להתחבר ל-OLEDB ישירות לביצועים טובים יותר,
אתה יכול לקרוא את המאמר הבא בכדי להבין למה:
http://www.4guysfromrolla.com/webtech/063099-1.shtml
בקצרה, ODBC הוא תקן API יונברסלי להתחברות למסדי נתונים המכיל הרבה קריאות ב-low-level והיה קשה לפיתוח איתו.
מייקרוספוט פיתחו פתרון לסוגייה זו בשם DAO אשר ברבות הימים הפכה ל-ADO, המוכר לנו, המספק אובייקטים ב-high-level לנתונים.
לאחר מכן מייקרוסופט הציגה את ה-OLEDB שהוא רכיב COM המספק גישה לכל סוגי הנתונים אפילו לנתונים מנותקים ( לדוגמא, ניתן לצפות ב-snapshot של מסד הנתונים מהפעם האחרונה שבוצע חיבור אליו ).
חיבור ישיר, אם כן, ל-OLEDB היושב בין שכבת ה-ODBC לאפליקציה, מספק שיפור משמעותי בביצועים.