643
צפיות
צפיות
19
תשובות
תשובות
שאלה ב- SQL
שלום לכולם!
איך אני בוחר רשומה אקראית מתוך בסיס נתונים?
תודה, אלברט
(שאלתי את השאלה הזאת ממש לפני שהחלפתם את מערכת הפורומים באתר לכן לא קיבלתי עליה תשובה…)
שלום לכולם!
איך אני בוחר רשומה אקראית מתוך בסיס נתונים?
תודה, אלברט
(שאלתי את השאלה הזאת ממש לפני שהחלפתם את מערכת הפורומים באתר לכן לא קיבלתי עליה תשובה…)
19 תשובות
בבקשה…

תנסה כאן:
לא עובד :-/
אני מקבל את השגיא הזאת:
Error Type:
ADODB.Recordset (0x800A0E7D)
Operation is not allowed on an object referencing a closed or invalid connection.
ובשורה 20:
rs.Open "SELECT * FROM tbl ORDER BY RAND() LIMIT 1"
(כמו שהיה בפורום תפוז)
תודה, אלברט
תיקון קטן
כמו תמיד שכחתי לשים את ב- ,conn (אובייקט חיבור בסוף ה- SELECT)
עכשיו אני מקבל שגיאה כזאת:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'RAND() LIMIT 1'.
line 20
ובשורה 20:
rs.Open "SELECT * FROM smart ORDER BY RAND() LIMIT 1", conn
(איך בוחרים רשומה אקראית…?)
תודה, אלברט
על איזה בסיס נתונים אתה עובד?
MS ACCESS
הפקודה שכתבת היא ל-mySQL
אתה צריך את האפשרות הראשונה בקישור שנועם נתן לך.
איזו?
אני לא רואה אופציה נוספת, את יכולה לכתוב לי את הפקודה כאן?
תודה, אלברט
בסעיף מספר 1 כתוב ש…
ההסבר
אני לא רואה כלום חוץ מפרסומת….
אתם יכולים לכתוב את הקוד כאן? או להביא לי קישור ממש ישיר?
תודה, אלברט
כן, תפוז שינו משהו באתר,
ואני לא ידעתי…
לך ללינק שיש לך בשרשור יותר למעלה, ל FAQ של פורום ASP בתפוז, וכנס שם לשרשור בסעיף מספר 1.
בבקשה
לא ברור לי…
שם השאלה היא לבחור 5 רשומות אקראיות לכן הקוד ממש מסובך…
אבל אני רוצה קר רשומה אחת… איך זה הולך אצלי?
תודה, אלברט
אני לא זוכר אם אקסס תומך בזה,
אבל יש לך ב SQL עצמה פקודה שיוצרת מספר מקרי. לצערי, אני גם לא זוכר את הפקודה, ואין לי כרגע כוח לחפש אותה. אם היא לא מופיעה במדריך ה SQL כאן, אתה בטוח תמצא אותה במדריך ה SQL של ה MSDN, לפחות.
rnd … אבל…
אין אפשרות לעשות randomize, אז תמיד מקבלים את אותם מספרים
משהו כזה
<%
randomize
dim num, count
set rs = Server.CreateObject("adodb.recordset")
rs.open "select * from tbl", conn
count = rs.RecordCount
num = round(rnd*count)
rs.move(num)
Response.Write(rs("fld"))
%>
למה אי אפשר randomize?
ולמה אי אפשר לבחור את הרשומה ישר ב- SELECT?
ומה הכוונה תמיד מקבלים את אותם המספרים?
תודה, אלברט
כי אקסס לא תומך בזה
נו, אקסס, אי אפשר לצפות ליותר מדי..