646
צפיות
צפיות
26
תשובות
תשובות
בעיה בהשוואה…
שוב שלום,
אני מנסה להריץ שאילתה בעלת השוואה אשר נעשת בעזרת WHERE.
ובזמן שאני מריץ את השאילתה, אני מקבל את השגיאה הבאה:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator.
/david/SPanel/Login2.asp, line 29
מה אני צריך לעשות?
הנה הקוד הרלוונטי (שורה 28-29)
sql = "select User, Pass From Admins Where Username = '" & User & "'"
rsLogin.Open sql, conn
תודה, דוד.
26 תשובות
תנסה
לכתוב [Pass].
ואם לא עובד לשנות את השם של השדה הזה.
לא בטוח לגבי שם השדה user אבל גם לא כדאי לשמור את שם השדה כך
השדה הוא Username ולא User
רגע!! מצאתי את הטעות.
בהשוואה רשמתי Username כי החלפתי מUser, ושכחתי לשנות בשליפה.
עדיין לא עובד
תנסה…
קודם כל תראה את הקוד המעודכן שעליו אתה מדבר.
שנית, מה שאתה יכול לנסות לעשות זה להדפיס את השאילתא למסך ולנסות להריץ אותה באקסס (או באיזה מס"ד שאיתו את עובד) ולראות את מקור הבעיה בצורה מדוייקת יותר.
תגובה
ראשית, הנה הקוד:
sql = "select Username, Password From Admins Where Username = '" & User & "'"
rsLogin.Open sql, conn
שנית, לא הבנתי למה התכוונת… ואני עובד על SQL SERVER..
מממ…
מה שהצעתי הוא שתדפיס את השאילתא במופקת למסך שלך ותעתיק אותה להרצה בתוך תוכנת ms sql שאיתה אתה עובד. אם יש בה משהו שגוי התוכנה תוכל לתת לך יותר פרטים על כך.
תבדוק ותרשום נא מה סוגי השדות שהגדרת לכל אחד מהשדות איתם אתה מנסה לעבוד.
שניהם טקסט
הרצתי בתוכנה וזה עבד טוב…
מוזר….
ממש מוזר.
תנסה אולי לכתוב את השאילתא בצורה כזו:
sql = "select [Username], [Password] From Admins Where Username = '" & User & "'"
rsLogin.Open sql, conn
האם שאילתות אחרות שאתה מנסה להריץ דרך ASP מחזירות תשובה?
אז ככה,
הדפסתי את הערך של User ועבד טוב.
הדפסתי את השאילתה על המסך ( Response.Write sql ) ויצא:
select Username, Password From Admins Where Username = 'SSS'
ניסיתי להריץ אותה כמו שאמרת ועדיין אותו הדבר.
לאומת זאת, שאילתות של INSERT וSELECT אחרות עובדות לי מצויין.
לדעתי מה שמזיק זה השימור בWHERE, אבל אני לא מוצא תחליף לWHERE בשביל Login….
באמת מוזר
השימור –> השימוש*
לפי דעתי
השאילתא נראית בסדר גמור.
הדבר היחידי שעולה על הדעת זה שמות השדות. קרה לי לא פעם אחת שיש שדות שתוכנות מס"ד לא מוכנות לקבל. למרות שניסיתי לחפש ברשימת המילים השמורות ולא מצאתי את המילים האלו.
לפי דעתי תנסה לשנות את שמות השדות ולעשות את השינוי בשאילתא בהתאם. הייתי מנסה אפילו לשנות את שם הטבלה Admin למשהו אחר.
פשוט תוסיף לידם את הספרה 1 או משהו.
ניסיתי, לא עוזר
בהחלט מוזר
אתה יכול?
אתה יכול להראות את הקוד במלואו?
או לפחות את החלקים שאחראיים על קריאה ופתיחת קשר למסד הנתונים?
בבקשה.
הקוד במלואו מצורף בקובץ טקסט…
והחיבור למסד נמצא בקובץ Conn.asp שמוכלל בקובץ הנ"ל.
זה מציג את התוכן HTML שבו, אז תעשה
view source או קוד מקור…
הבעיה נפתרה!
פשוט בWhere עם SQL SERVER צריך לרשום במקום: Where bla = 'bla' את השורה:
Where bla LIKE 'bla'
LIKE
בעקרון LIKE מבצע את מה ששווה (=) מבצע. אבל אין סיבה שסימן השווה לא יעבוד ב ms sql server.
אבל העיקר שנפתר
איך אני מצפין קוקיס?
מישהו בבקשה יכול לתת לי דוגמא של הצפנת קוקיס? תודה!
ד"א לא שירשרתי כי שלחתי פעמיים לשירשור וזהל א הוסיף כלום…
השאלה הזאת לא תקפה 🙂 שאלה חדשה…
שלום… מצטער שאני נאג'ס 😀
טוב אז ככה, אני מנסה להוסיף 1 לID שאני שולף מהמסד ולהכניס לעמודה חדשה, ואני מקבל שגיאה.
השגיאה:
Microsoft VBScript runtime error '800a000d'
Type mismatch
קוד רלוונטי:
sql = sql & rsCHK("ID")+1 & ")"
השדה הוא מספר?
cint
תשתמש בפונקציה cint
sql = sql & cint(rsCHK("ID"))+1 & ")"
ואל תדאג, מלהיות נאג'ס לומדים
תודה רבה על העזרה!
עוד אחת
שלפתי עם SELECT עמודות מטבלה שלמה, וישנן 3 עמודות אשר אני לא מצליח להדפיס אותן:
Service
Phone
CellPhone
שום שגיאה ושום כלום, פשוט לא מדפיס לי.
ניסיתי להריץ את השאילתה בתוכנה ושם השדות הנ"ל מופיעים.
בPhone וCellPhone יש תנאי IF כי אותם לא חייב למלא, והוא רושם "לא הוזן" במקרה שהם לא הוזנו, ושאני לא מזין, זה מציג לי לא הוזן, הנה הקודים (הקודים של פון וסלפון אני מביא על התנאי):
Service:
<td class="WB"><%=rsList("Service") %></td>
Phone:
If rsList("Phone") <> "אין" Then
%>
<td class="WB"><%=rsList("Phone") %></td>
<%
Else
%>
<td class="WB">לא הוזן</td>
<%
End If
CellPhone:
<%

If rsList("CellPhone") <> "אין" Then
%>
<td class="WB"><%=rsList("CellPhone") %></td>
<%
Else
%>
<td class="WB">לא הוזן</td>
<%
End If
תודה רבה לכל מי שעוזר עזר ויעזור לי
גיליתי שזה בעיה בטבלה, אז לא חשוב
כי זה לא קשור לפה
נדבקתי לסמיילי