נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: איך אפשר לדעת את מספר השורות של recordset

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
:)
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 02 July 2007 בשעה 13:00 | IP רשוּם
ציטוט :)

אני משתמש ב ADO
אם אני רוצה להראות את כול מהשתמשים שיש לי במסד נתונים ובסוף לכתוב "נמצאו X משתמשים" כאשר X זה מספר האנשים שיש אותה הטבלה אני מכיר את הדרך שבה עוברים עד ל EOF וכול פעם סופרים אחד עם counter, אבל אין איזה שהוא מאפיין או פעולה ב ADO שמחזירה את מספר הרשומות שיש ב RECORDSET ?
חזרה לתחילת העמוד הצג את כרטיס החבר של :) חפש הודעות אחרות של :) בקר בדף הבית של :)
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 02 July 2007 בשעה 13:11 | IP רשוּם
ציטוט shoshan

יש, אבל הוא לא תמיד זמין.

RecordCount

אתה עלול לקבל שגיאה, אפילו די סביר. (ואין לי כוח להסביר)

צריך לשנות את סוג השאילתה וכל מיני כאלה דברים (חפש בגוגל reocordset recordcount)...

אם אתה מציג את כל המשתמשים בעמוד אחד (משמע שגם ככה יש לך את כל הרשומות)
פשוט תספור.

אם לא, פשוט תריץ שאילתה עם אותו WHERE כמו בשאילתת בחירה, רק במקום כל
השדות תשים COUNT(users.id) כאשר users.id זה עמודה כלשהיא מהטבלה של המשתמשים,
בלי group by, וזה יחזיר לך שורה ועמודה אחת ובה יש את מספר המשתמשים...


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
:)
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 02 July 2007 בשעה 13:20 | IP רשוּם
ציטוט :)

עשיתי זה היה זמין אבל זה החזיר -1 (מינוס אחד) כאילו לא נמצאו רשומות ויש לי 5 מה לא בסדר ?
חזרה לתחילת העמוד הצג את כרטיס החבר של :) חפש הודעות אחרות של :) בקר בדף הבית של :)
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 02 July 2007 בשעה 15:11 | IP רשוּם
ציטוט shoshan

כמו שאמרתי, צריך להריץ את השאילתה בצורה קצת שונה כדי שזה יעבוד.

קוד:
set recoreset = server.createobject("adodb.recordset")
Recordset.Open sSQL,connection,3,3



__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
:)
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 02 July 2007 בשעה 15:34 | IP רשוּם
ציטוט :)

לא יודע למה זה קצת שונה אצלי אני לא עשיתי את זה :
קוד:

set recoreset = server.createobject("adodb.recordset")

עוד מהתחלה אלא יצרתי אובייקט :
קוד:

c.open "DRIVER={Microsoft Access Driver (*.mdb)};uid=;pwd=; DBQ= " & Server.MapPath("members.mdb")

ועשיתי :

קוד:

r=c.Execute("select * from members")


אבל זה עדיין רקורדסט פשוט לא עשיתי לו OPEN אז כדאי להמשיך ככה כמו עשיתי או להתחיל מחדש ולהצהיר על RECORDSET ולעשות לו OPEN ?
חזרה לתחילת העמוד הצג את כרטיס החבר של :) חפש הודעות אחרות של :) בקר בדף הבית של :)
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 02 July 2007 בשעה 16:41 | IP רשוּם
ציטוט shoshan

כמו שכבר אמרתי פעמיים, צריך להשתמש בשיטה שונה כדי לקבל את האפשרות הזאת (וגם אז לא תמיד תמיד מקבלים אותה)

תשנה את זה ל-
קוד:
set r = server.createobject("adodb.recordset")
r.open "select * from members",o,3,3



__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
:)
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 02 July 2007 בשעה 17:35 | IP רשוּם
ציטוט :)

אוקי שאלה חדשה :
מה עדיף ?

להכריז על רקורדסט כך למשל :
קוד:

set objRecordset=Server.CreateObject("ADODB.recordset")


או לפתוח אובייקט תקשורת כזה :
קוד:

c.open "DRIVER={Microsoft Access Driver (*.mdb)};uid=;pwd=; DBQ= " & Server.MapPath("members.mdb")

 
ואז לעשות :

קוד:

set r=c.Execute("select * from members")

אז מה עדיף \ מה יותר נכון בלי קשר ל מאפיין RecordCount אלא בכללי כאשר אני כותב דפי ASP במה צריך להשתמש ?

חזרה לתחילת העמוד הצג את כרטיס החבר של :) חפש הודעות אחרות של :) בקר בדף הבית של :)
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 02 July 2007 בשעה 17:54 | IP רשוּם
ציטוט shoshan

את החיבור בכל מקרה פותחים.

אני רק יכול לומר לך שלא תעשה את הראשון אם אתה עומד להמשיך עם השני (set r = )
ולא לעשות איזו פעולה עם r בגלל שזה סתם אתחול מיותר של אובייקט.

בסה"כ אני מניח שאם מריצים כמה שאילתות עדיך להשתתמש בראשון בגלל שזה חוסר טיפונת
עבודה של אתחול אובייקט, אבל זה לא שאני כתבתי את המימוש של ASP ו-ADO שאני יודע...

אם אתה רוצה לדעת יותר אני מניח שאתה יכול לחפש בגוגל asp ado best practices או
משהו בסגנון...(אם תקבל תוצאות ב-asp.net תחפש classic asp או asp 3.0)


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
:)
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 02 July 2007 בשעה 18:37 | IP רשוּם
ציטוט :)

למישהו יש במקרה קוד מקור (דפי ASP) של אתר שבנוי ב ASP עם מסד נתונים ACCESS להביא לי לצורכי למידה כי זה קשה להבין ככה מדוגמא של אתר בנוי אפשר להבין בשניה. . . ?
חזרה לתחילת העמוד הצג את כרטיס החבר של :) חפש הודעות אחרות של :) בקר בדף הבית של :)
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

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