שלח תשובה

זירת השאלות

482
צפיות
15
תשובות

בעיה בבסיס הנתונים

,‏ 14 באוקטובר, 2004

כתבתי שאלה אמריקאית , לכל תשובה יש כפתור רדיו בשם Q1 והוא מכיל את התשובה, תשובה נכונה מכילה את הערך 1 , תשובה לא נכונה מכילה את הערך 0.
אני כותב קוד ב ASP שיכניס את תשובת המשתמש למסד נתונים באקסס.
משום מה זה לא מכניס ואין לי שום הודעת שגיאה…
הנה מצורף קוד הASP:


Dim Q1
Dim conn, rs ,SQLstr
  
  
   Set conn = Server.CreateObject("ADODB.Connection") 'connection object
   Set rs = Server.CreateObject("ADODB.Recordset") 'recordset object
     Conn.Open "Driver={Microsoft Access Driver (*.mdb)};" &_
           "Dbq=c:inetpubwwwrootdbdb1.mdb;" & _
           "Uid=admin;" &_
             "Pwd=;"    'oppening th

Q1=Request("q1")
IF Q1 > 0  then

SQLstr="insert into question VALUES  ('" & Session("username") & "' , '1' ,true)"
Else
SQLstr="insert into question VALUES ('" & Session("username") & "' , '1' ,false)"
End If


conn.close()
Set conn=nothing

תגיות:

15 תשובות

  1. erantz הגיב:

    הנה הקוד בצורה נורמלית
    Dim Q1
    Dim conn, rs ,SQLstr
      
      
       Set conn = Server.CreateObject("ADODB.Connection") 'connection object
       Set rs = Server.CreateObject("ADODB.Recordset") 'recordset object
         Conn.Open "Driver={Microsoft Access Driver (*.mdb)};" &_
               "Dbq=c:inetpubwwwrootdbdb1.mdb;" & _
               "Uid=admin;" &_
                 "Pwd=;"    'oppening th

    Q1=Request("q1")
    IF Q1 > 0  then

    SQLstr="insert into question VALUES  ('" & Session("username") & "' , '1' ,true)"
    Else
    SQLstr="insert into question VALUES ('" & Session("username") & "' , '1' ,false)"
    End If

    conn.close()
    Set conn=nothing

  2. silagy הגיב:

    תציג רת הקוד בצורה שנוכל לקרוא אותו

  3. BuildHome הגיב:

    אתה פשוט לא מבצע את השאילתה
    אלא רק כותב אותה במשתנה.
    אחרי השאילתה תוסיף
    Conn.Execute(SQLstr)

  4. erantz הגיב:

    מה הבעיה במשפט SQL הבא:
    <%
    dim answer ,mySQL

    Set oConn = Server.CreateObject("ADODB.Connection")

    oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" &_
        "Dbq=c:inetpubwwwrootdbdb1.mdb;" &_
        "Uid=admin;" &_
        "Pwd=;"

    Set oStudentsClassRS = Server.CreateObject("ADODB.Recordset")
    mySQL = "SELECT * FROM question"
    mySQL = "DELETE FROM question WHERE userName = ' " & Session("username") & " ' "

    Conn.Execute(mySQL)

    Response.Redirect "q1.asp"

      oStudentsClassRS.Close
      Set oStudentsClassRS = Nothing

      oConn.Close
      Set oConn = Nothing
      %>
    השגיאה שמופיעה:

    Error Type:
    Microsoft VBScript runtime (0x800A01A8)
    Object required: "
    /lessons/quiz-again.asp, line 20

    הכוונה ל:
    Conn.Execute(mySQL)

  5. erantz הגיב:

    סליחה, שוב:
    <%
    dim answer ,mySQL

    Set oConn = Server.CreateObject("ADODB.Connection")

    oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" &_
        "Dbq=c:inetpubwwwrootdbdb1.mdb;" &_
        "Uid=admin;" &_
        "Pwd=;"

    Set oStudentsClassRS = Server.CreateObject("ADODB.Recordset")
    mySQL = "SELECT * FROM question"
    mySQL =mySQL & "DELETE FROM question WHERE userName = ' " & Session("username") & " ' "

    Conn.Execute(mySQL)

    Response.Redirect "q1.asp"

      oStudentsClassRS.Close
      Set oStudentsClassRS = Nothing

      oConn.Close
      Set oConn = Nothing
      %>

  6. erantz הגיב:

    לא מצליח לי…
    איך עושים זאת?
    בתפוז יש כפתור מיוחד מה פה?

  7. BuildHome הגיב:

    שים את הקוד בין |הקוד| ל-|סקוד|
    ויש כפתור [סמוך לסמיילי].

  8. erantz הגיב:

    ניסיון נוסף

    <%
    dim answer ,mySQL

    Set oConn = Server.CreateObject("ADODB.Connection")

    oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" &_
        "Dbq=c:inetpubwwwrootdbdb1.mdb;" &_
        "Uid=admin;" &_
        "Pwd=;"

    Set oStudentsClassRS = Server.CreateObject("ADODB.Recordset")
    mySQL = "SELECT * FROM question"
    mySQL =mySQL & "DELETE FROM question WHERE userName = ' " & Session("username") & " ' "

    Conn.Execute(mySQL)

    Response.Redirect "q1.asp"

      oStudentsClassRS.Close
      Set oStudentsClassRS = Nothing

      oConn.Close
      Set oConn = Nothing
      %>

    ודרך אגב  אין לי את הכפתור

  9. erantz הגיב:

    והנה שוב הודעת השגיאה:
    |קוד|
    Error Type:
    Microsoft VBScript runtime (0x800A01A8)
    Object required: "
    /lessons/quiz-again.asp, line 20

  10. BuildHome הגיב:

    אתה מערבב 2 שאילתות
    ביחד…אתה צריך לבצע כל שאילתה בנפרד.
    אני מניח שאתה רק רוצה למחוק רשומה אז השאילתה של SELECT מיותרת.
    Conn.Execute("DELETE FROM question WHERE userName = ' " & Session("username") & " ' "
    )

  11. מהי שורה 20?
    תציג את הקוד שלך, ותדגיש את שורה 20.

שלח תשובה