401
צפיות
צפיות
27
תשובות
תשובות
חיבור למסד נתונים עם סיסמה
שלום!
מישהו יכול להזכיר לי איך נראת השורה של החיבור למסד נתונים עם סיסמה.
dim conn
set conn=server.createobject("adodb.connection")
dim ConnString
ConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &_
Server.MapPath("database.mdb") & ";"
הכוונה היא ,מה השורה המשלימה כדי שאוכל להתחבר למסד שהגדרתי לו סיסמה.
תודה
ISRAPPER
27 תשובות
…knock yourself out
תודה!
למה לא ל-FAQ?

עכשיו יודע
שתי שאלות נוספות
שלום!
1.איך עושים דירוג למשהו במסד נתונים(כתבה למשל).
2.איך אני עושה שיהיה כתוב כמה אנשים הורידו את הקובץ הזה?
תודה
ISRAPPER
תשובות מפורטות
1. העקרון מאוד פשוט. הנה קוד דוגמא קטן שכתבתי:
userRank = Request.Form("userRank") ' user rank (from 1 to 5 for example)
SQL = "SELECT tbl.rank,tbl.rankcount FROM tbl WHRE tbl.ID="&ID
rs.Open SQL, Conn, 3, 3
If not rs.EOF Then
Old_rankCount = rs("rankCount") ' counter for users rank
Old_Rank = rs("Rank") * Old_rankCount ' old rank
rs("Rank") = (Old_Rank + userRank) / (Old_rankCount + 1) ' new rank
rs("rankCount") = rs("rankCount") + 1 ' counter +1 for users rank
rs.Update
End If
rs.Close
הסבר:
שורות 1-4: הגדרת משתנה עם דירוג המשתמש שנשלח בטופס ופתיחת השאילתה לפי ID שנשלח בעזרת הטופס/שורת הכתובות (QS) ובדיקה עם משפט תנאי שהרשומה קיימת.
שורות 5-6: מגדירים במשתנים את הדרוג הישן (Old_Rank) + מספר המדרגים הישן (Old_rankCount) עבור עדכון הנתונים.
שורות 7-8: עדכון הדרוג בעזרת פעולה פשוטה: (הדרוג הישן+דרוג המשתמש) [חלקי] (מספר המדרגים הישן+1).
שורות 9-12: מעלים את מספר המדרגים ב-1, מעדכנים נתונים, סוגרים רקורדסט ומשפט תנאי.
2. מונה מבוסס מסד מסוג מספר (שדה נוסף בטבלה ההכרחית) שעולה בכל פעם באחד בעזרת שאילתת עדכון.
Conn.Execute("UPDATE tbl SET tbl.counter=tbl.counter+1 WHERE tbl.ID="&ID)
תודה ,ושאלה נוספת
שלום!
אני מנסה להתחבר למסד נתונים שהגדרתי לו סיסמה ,ואני מקבל את השגיאה הזו:
Microsoft VBScript compilation error '800a0400'
Expected statement
/israpper/sendsoft.asp, line 18
& ";Jet OLEDB:Database Password=****;"
שורה 18 היא
& ";Jet OLEDB:Database Password=****;"
מה עושים?
תודה
תן את קוד ההתחברות המלא…
אם השורה היא רק & ";Jet OLEDB:Database Password=****;" אז אין ספק שיש פה בעייה. תראה קצת יותר קוד ונתקן לך
תגובה
הנה הקוד של הדף
<%
Name=Trim(Request.Form("Name"))
Details=Trim(Request.Form("details"))
Address=Trim(Request.Form("address"))
Cat=Trim(Request.Form("cat"))
If LEN(Author)=0 Then Author="חסוי"
Name=REPLACE(name, vbCrlf, "<br>")
Name=REPLACE(name, "[b]", "<b>")
Name=REPLACE(name, "[/b]", "</b>")
sql="insert into software(Name,details,address,cat) values ('"&Name&"','"&details&"','"&address&"','"&cat&"')"
dim conn
set conn=server.createobject("adodb.connection")
dim ConnString
ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/db.mdb")
& ";Jet OLEDB:Database Password=****;"
%>
תודה
המממ
פה:
ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/db.mdb")
& ";Jet OLEDB:Database Password=****;"
יש לך ירידת שורה אמיתית או שזה סתם שבור כאן?
ירידת שורה אמיתית
תגובה
העלתי את השורה,אבל עכשיו אני רואה שזה לא מכניס את הטקסט למסד,
למרות שעכשיו אין שגיאה.
מה עושים?
תודה
ISRAPPER
אז פשוט תוריד אותה.
ראה תגובה קודמת שלי
מן הסתם
אתה לא אמרת לו לעשות את זה
תוסיף את זה בסוף הקוד:
conn.execute sql
תגובה
הוספתי את זה בסוף הקוד,
והוא אומר לי
Operation is not allowed when the object is closed.
ולא כתבתי שום משפט שסוגר את החיבור.
החיבור נפתח?
שגיאה חדשה
מופיעה שגיאה חדשה:
Field 'software.Name' cannot be a zero-length string.
/israpper/sendsoft.asp, line 7
אלה שורות 6 ו 7
sql="insert into software(Name,details,address,cat) values ('"&Name&"','"&details&"','"&address&"','"&cat&"')"
rs.Open sql,conn
יש משהו לא נכון בקוד?
תגיד, אתה בכלל קורא את הודעות
השגיאה לפני שאתה שואל בפורום?
לך למאמרים של מדור ASP, קרא את המאמר על איך לדבג SQL, ותעבוד לפי הכללים שמפורטים שם.
נעזור לך, אבל פעם הבאה, תחשוב טיפה.
sql="insert into software([Name],[details],[address],[cat]) values ('"&Name&"','"&details&"','"&address&"','"&cat&"')"
rs.Open sql,conn
גם לא נכון
.
הפעם תחשוב טיפה, בעזרת מדריך הASP
אני לא אעשה לך את כל העבודה, כל עוד אתה לא מנסה לפתור.
תגובה
תאמין לי שניסיתי לסדר את הבעיה(ושנתקלתי בה בעבר),
ולא הצלחתי.
ולזהר פלד,אתה חייב תמיד להיות אנטיפת?
ISRAPPER
יש לי משהו נגד אנשים
שמבחינתם לפתור בעיה תכנותית היא לרוץ לשאול בפורום, גם כשהתשובה מונחת מתחת לאף שלהם.
מה לא ברור ב Field 'software.Name' cannot be a zero-length string?
אתה מגזים
הבעייה פשוט מוצגת לך כמו שהיא.
בבילון ניתן להוריד מ .
תגובה+שאלה חדשה
הבנתי מה זה אומר וניסיתי לפתור את הבעיה ,אבל אז לא הצלחתי
ואחרי הרבה ניסיונות ואחרי שעברתי על המדריכים כאן, לא הצלחתי לפתור את הבעיה והחלטתי לפתור את הבעיה.
בסופו של דבר ניסיתי משהו אחר.
שאלה חדשה
אני עובד כרגע על פורום טבלה ,ורציתי לדעת איך אני יוצר טופס ששולח תגובה.
ואיך אני מציג את את התגובות לפי ההודעה?
תודה
ISRAPPER
מצטער מאוד אבל…
אם את זה אתה לא יודע, אין לך מה להתעסק בפורומים.