שלח תשובה

זירת השאלות

528
צפיות
6
תשובות

האם נחוץ חיבור חדש למסד נתונים?

,‏ 13 באוגוסט, 2006

שלום,
אם אני רוצה להציג מספר פעמים של הצגת נתונים ממסד נתונים בASP האם אני חייב להשתמש בחיבורים נוספים?

דוגמא:

<%
Set MyConn1 = Server.CreateObject("ADODB.Connection")
MdbFilePath1 = Server.MapPath("mydb.mdb")
MyConn1.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath1 & ";"
sql1="select * articles FROM articles"
Set RS1 = MyConn1.Execute(sql1)
WHILE NOT RS1.EOF
%>
<%=RS1("aaaa")%><br>
<%
RS1.MoveNext
WEND
%>

<%
Set MyConn2 = Server.CreateObject("ADODB.Connection")
MdbFilePath2 = Server.MapPath("mydb.mdb")
MyConn2.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath2 & ";"
sql2="select * faqs FROM faqs'"
Set RS2 = MyConn2.Execute(sql2)
WHILE NOT RS2.EOF
%>
<%=RS2("bbbb")%><br>
<%
RS2.MoveNext
WEND
%>


וזה גם מעט את עליית הדף?

תגיות:

6 תשובות

  1. זהר פלד הגיב:

    חס וכרפס.
    אין שום סיבה להתחבר למסד הנתונים יותר מפעם אחת בעמוד.
    ניתן לפתוח מספר אובייקטים של recordset דרך אותו אובייקט connection.

  2. זהר פלד הגיב:

    שיכתוב של הקוד שלך:


    <%
    Set MyConn1 = Server.CreateObject("ADODB.Connection")
    MdbFilePath1 = Server.MapPath("mydb.mdb")
    MyConn1.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath1 & ";"
    sql1="select * articles FROM articles"
    Set RS1 = MyConn1.Execute(sql1)
    WHILE NOT RS1.EOF
    %>
    <%=RS1("aaaa")%><br>
    <%
    RS1.MoveNext
    WEND
    %>

    <%
    sql2="select * faqs FROM faqs'"
    Set RS2 = MyConn1.Execute(sql2)
    WHILE NOT RS2.EOF
    %>
    <%=RS2("bbbb")%><br>
    <%
    RS2.MoveNext
    WEND
    %>

    כמובן, אם סיימת את העבודה עם rs1 לפני שפתחת את rs2, אז גם אין ממש סיבה לפתוח עוד אובייקט recordset – אתה יכול לסגור את rs1 בעזרת המתודה close, ולפתוח אותו מחדש עם שאילתה נוספת.

  3. זהר פלד הגיב:

    לא.
    בשביל דברים כאלו יש כאן מדריך ASP.

שלח תשובה