לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ברוכים הבאים לפורום ASP חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > ASP
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
 
כלי אשכול חפש באשכול זה



  #16  
ישן 04-01-2006, 20:37
  mister dude mister dude אינו מחובר  
 
חבר מתאריך: 25.12.05
הודעות: 48
יש לי עד rs.count
בתגובה להודעה מספר 15 שנכתבה על ידי AlexKarpman שמתחילה ב "עכשיו הכל ברור :)"

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

קוד PHP:
 set conn server.CreateObject("ADODB.Connection"
    
set rs2 server.CreateObject("ADODB.Recordset"
    
DSNName "DRIVER=Microsoft Access Driver (*.mdb);DBQ="
    
DSNName DSNName Server.MapPath("/Tamuz/db1.mdb")
    
Conn.Open DSNName 
    SQLstr 
"SELECT * FROM Achievements WHERE Student_Number =" request.cookies("user")("SN"
    
rs2.open SQLstr,conn,1,
    
if not rs2.EOF then 
        J 
rs2.recordcount 
    end 
if 
    
rs2.close
    set Rs2 
nothing
    set conn 
server.CreateObject("ADODB.Connection"
    
set rs1 server.CreateObject("ADODB.Recordset"
    
DSNName "DRIVER=Microsoft Access Driver (*.mdb);DBQ="
    
DSNName DSNName Server.MapPath("/Tamuz/db1.mdb")
    
Conn.Open DSNName 
    SQLstr 
"SELECT * FROM TESTS" 
    
rs1.open SQLstr,conn,1,
    
if not rs1.EOF then 
        i 
rs1.recordcount 
    end 
if 
    
rs1.close
    set Rs1 
nothing
 
Set conn 
Server.CreateObject("ADODB.Connection")
Set rs Server.CreateObject("ADODB.Recordset")
DSNName "DRIVER=Microsoft Access Driver (*.mdb);DBQ="
DSNName DSNName Server.MapPath("/Tamuz/db1.mdb")
Conn.Open DSNName     'connecting the asp page to the site and so on
%>
<html>
<head>
</head>
<body link="white" vlink="white" alink="white">
<form runat="server" method="post">
<br>
<%
 
Do While Z <= J 
 
SQLstr = "SELECT * FROM Achievements WHERE Student_Number =" & request.cookies("user")("SN") & " order by grade" 
rs.Open SQLstr,conn
 
If rs.EOF Then
     Response.write "<tr><td></td><td></td><td></td><td></td>"
     Response.write "<td>" & "You are not a member of any course yet." & "</td>"
     Response.write "</tr>"
     Z = J + 1
 
else
     rs.move z 
 
 
If NOT rs.EOF Then
 
 
     IF rs("Grade") = 0 OR rs("grade") < 55 Then
 
 
             course = rs("Course_Number")
 
 
     rs.close
 
SQLstr = "SELECT * FROM Tests WHERE Course_Number= '" & Course & "' ORDER BY Test_Date" 
rs.Open SQLstr,conn
 
    If NOT rs.EOF Then
 
 
        H=1
        Do While H <= I And Not RS.EOF
 
 
 
        response.write "<tr>"
 
    '
i wrote things here and just erased to make it shorter     
 
 
     response
.write "</tr>" 
 
     

     rs
.movenext
     Loop
 
 
     END 
If ' rs.EOF (second 1)
     END If ' 
grade thing 
     END 
If ' NOT rs.EOF
     End If ' 
rs.EOF (first 1)
Z+
rs
.close
 
     Loop
    
%>
    </
table>
<
br>
<%
 
 
conn.Close
Set rs 
Nothing
Set conn 
Nothing
Else
Response.redirect "no_cookie.html"
End If
%>
    </
form>
    </
body>
    </
html


כל המשתנים מוגדרים וכו. אגב, הטבלה
achievements
כוללת:
student_number - (text)
course_number - (text)
Grade- (number)
points - (number)
msg - (memo)

נערך לאחרונה ע"י mister dude בתאריך 04-01-2006 בשעה 20:41.
חזרה לפורום
  #17  
ישן 04-01-2006, 21:28
  AlexKarpman AlexKarpman אינו מחובר  
 
חבר מתאריך: 20.12.01
הודעות: 20,962
הפורום הרס את כל העיצוב, אני לא יכול לקרוא את זה ככה.
בתגובה להודעה מספר 16 שנכתבה על ידי mister dude שמתחילה ב "יש לי עד rs.count"

תעלה אותו כקובץ, כי אי-אפשר לקרוא שום קוד של יותר מ-10 שורות בפורום הזה...

בכל-אופן:
אין סיבה לפתוח את ה-connection כל פעם מחדש...
צריך להשתמש ב-recordcount בזהירות, כי הספירה מתחילה מאפס, לחילופין אפשר להשתמש רק ב-rs.EOF.

לדוגמה, קוד שמצאתי אצלי נראה כך:
קוד:
Public Sub ModulesRefresh() lstModules.Clear lstClasses.Clear lstProcedures.Clear Dim c As ADODB.Connection Set c = New ADODB.Connection Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset Dim f As ADODB.Field c.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ App.Path & "\Main.mdb" rs.ActiveConnection = c rs.Open "Modules" If Not rs.EOF Then rs.MoveFirst Else Exit Sub End If Do While Not rs.EOF Set f = rs.Fields("Module Name") lstModules.AddItem f.Value rs.MoveNext Loop lstModules.Refresh lstClasses.Refresh lstProcedures.Refresh End Sub

למה להשתמש גם ב-recordcount גם ב-EOF, ובכל אחד מהם כמה פעמים אני לא מבין.
חזרה לפורום
  #18  
ישן 04-01-2006, 21:50
  mister dude mister dude אינו מחובר  
 
חבר מתאריך: 25.12.05
הודעות: 48
הסיבות
בתגובה להודעה מספר 17 שנכתבה על ידי AlexKarpman שמתחילה ב "הפורום הרס את כל העיצוב, אני לא יכול לקרוא את זה ככה."

למעשה, אני לא מבין גדול ב- asp וגם לא ב - sql .את ספירת מספר הרשומות העתקתי לגמרי מאתר כלשהו שהציע כמה שיטות לספירה, ובחרתי את השיטה הזאת כי היא נראתה לי.
הסיבה שיצרתי כל מני וריאציות שונות של Rs.EOF היא בגלל שאני מריץ לולאה על לולאה של פתיחת שני מסדי נתונים שצריכים לעבור בין הרשומות. במילים אחרות, זו הדרך היחידה שבה הצלחתי לגרום לקוד לפעול.
מאוד מוזר, שהקוד שלי כולל התנאי של
rs("grade") = 0
למעשה באמת באמת פעל. נאלצתי לשנות את הערכים שבטבלה שאותה אני בודק, ולפתע הקוד התחיל לעשות לי בעיות.
אני לא יכול לשכתב את הקוד בגלל שפשוט אין לי זמן, אני רוצה לסיים עם זה הלילה.
הבעיה מסתכמת בשורת הקוד הבאה:

קוד PHP:
 IF rs("Grade") = "0" OR rs("grade") < 55 Then 


התנאי השני פועל , אבל התנאי הראשון לא פועל. אם הוא יפעל, כל הקוד יפעל כמו שהוא צריך לפעול.

כידוע לך, ה - 0 שאני מחפש להשוות הוא למעשה מזויף, הוא ברירת מחדל.
השורה שבה קיימת ברירת המחדל קיימת , ויש בשורה הזאת פרטים אחרים, שכן קיימים.
אבל אני חייב להשתמש בעמודה של הציון כתנאי בדיקה. השאלה היא - כיצד אפשר לנסח את זה?

נ.ב

אני מאוד מצטער על זה שאני לא שמתי את הקוד כקובץ, פשוט, באמת באמת חבל לי כי יקח זמן לקרוא את הקוד והוא פשוט לא כל כך משמעותי. בנוסף, אין לי באמת כלים ליצור קובץ יפה וקל לקריאה - הכל במסמך טקסט פשוט
חזרה לפורום
  #19  
ישן 04-01-2006, 22:19
  AlexKarpman AlexKarpman אינו מחובר  
 
חבר מתאריך: 20.12.01
הודעות: 20,962
אז למה האפס במרכאות?
בתגובה להודעה מספר 18 שנכתבה על ידי mister dude שמתחילה ב "הסיבות"

בקוד למעלה לא היו מרכאות, ועכשיו יש. איך כתבת?

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

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

אם אתה אומר שהתנאי פעל עד שביצעת אילו שהם שינויים, כדאי שתציין מה
היו השינויים האלה...

ושוב: אם אנחנו קוראים אפס - הבדיקה לאפס אמורה לפעולה, אם אנחנו
לא מצליחים להדפיס אפס דרך response.write אין שום סיבה שתנאי שבודק
לאפס יפעל...
איך השדה מוגדר במסד-הנתונים?
חזרה לפורום

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 08:36

הדף נוצר ב 0.16 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר