Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    81

    richiesta dati ad un db Set rs = cn.Execute(sql) error???

    ciao a tutti scusate il titolo lungo .. ma ho voluto far notare che stavo un pò in crisi
    Allora come ben scrissi l'altra volta sono negato in asp .. e da ieri pome mi sono cimentato in una foul Asp programming.. sinceramente nn so neanche cosa abbia detto.. ma è chic cmq sensa tirarla per le lung io dovrei fare una piccola pagina in asp che dopo aver dato un ID ed una password vengano visualizzate le asenze ed i ritardi di un determinato alunno .. ok
    Allora dopo aver creato il DB mi cimento a fare il form


    <form method = "POST" action= "controlloID.asp">
    Inserisci il ID: <input type="text" size="20" name="ID">




    Inserisci la Password <input type"text" size"20" name"password" />


    <input type="submit" value="INVIA" >
    </form>

    e poi ho crreato la pagina controlloID.asp

    <%

    Set cn = Server.CreateObject("ADODB.Connection")
    cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("db/database_prova.mdb")

    Sub richiedi_dati
    ID=request("ID")
    Nome=request("Nome")
    Cognome=request("Cognome")
    Password=request("Password")
    Assenze=request("Assenza")
    Ritardi=request("Ritardi")
    End sub

    Dim ID
    Dim password
    ID = Replace(Request.Form("ID"), "'", "''")
    password = Replace(Request.Form("password"), "'", "''")

    Dim SQL ' Creo la query SQL
    sql = "SELECT ID FROM prova WHERE ID='" &ID&_
    "' AND PASSWORD='" &password& "'"

    Dim rs
    Set rs = cn.Execute(sql)

    Dim Controllo
    if rs.eof then
    controllo = false
    else
    controllo = true
    end if
    rs.Close
    cn.Close
    Set rs = Nothing
    Set cn = Nothing

    if controllo = true then
    Session("controllo") = "OK"
    ID Studente: Response.Write Request.Form("ID")
    Nome: Response.Write Request.Form("Name")
    Cognome: Response.Write Request.Form("Cognome")
    Assenze: Response.Write Request.Form("Assenza")
    Ritardi: Response.Write Request.Form("Ritardi")

    else
    Response.Redirect("inserimento.asp")
    end if
    %>

    Ora mi domano e chiedo perchè non funziona ??? mi da l'errore alla linea 25

    Set rs = cn.Execute(sql)

    Mi potete aiutare per favore .. è per un progetto scolastico sempre grazie anticipatamente

  2. #2
    E l'errore che dice?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    81
    Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

    [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

    /controlloID.asp, line 25

    Vi prego aiutatemi

  4. #4
    Vuol dire che passi un dato trattandolo nel tipo non corretto.
    Ora, guardando la tua query SQL mi pare di capire che il campo ID sia di tipo numerico o contatore.
    In questo caso il valore non va tra apici singoli.
    Prova così.
    codice:
    sql = "SELECT ID FROM prova WHERE ID = " & ID & " AND PASSWORD = '" & password & "'"

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    81
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'ID = AND PASSWORD = '''.

    /controlloID.asp, line 21

    mi spiace dirlo ma neanche questa volta funziona..

    i paramentri sono di questo tipo
    ID numerico
    Password numerico ..
    non contatore
    cmq ho migliorato un pò il tutto guardate ora


    Codice PHP:
    <% 
    Sub richiedi_dati  
         ID
    =request("ID")    
         
    Nome=request("Nome")   
         
    Cognome=request("Cognome")    
         
    Password=request("Password")    
         
    Assenze=request("Assenza")
         
    Ritardi=request("Ritardi")  
         
    End sub

    'variabili' 
    Dim cnrssql
    Dim ID
    password
    'connessione al database'
    Set cn Server.CreateObject("ADODB.Connection")
    cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("db/database_prova.mdb"
    'controllo id e password
    ID = Replace(Request.Form("ID"), "'", "''")
    password = Replace(Request.Form("
    password"), "'", "''")
    '
    query sql per il confronto fra id e password'
    sql = "SELECT ID FROM prova WHERE ID = " & ID & " AND PASSWORD = '" & password & "'"

    Set rs = cn.Execute(sql)

    Dim Controllo
    if rs.eof then
      controllo = false 
    else
      controllo = true
    end if
    rs.Close
    cn.Close
    Set rs = Nothing
    Set cn = Nothing
    cn.Execute(sql)
    if controllo = true then
      Session("controllo") = "OK"
    %>
    <form>
    <table width="325" border="2" cellpadding="2">
    <tr>
    <td align="left" width="334">Informazioni Studente</td>
    </tr>
    <tr>
    <td align="right" width="334"><table border="0" width="324" cellspacing="1">
      
    <tr>
    <td width="108" align="right">Numero ID Studente:</td>
    <td width="209"><input type="text" name="ID" size="8" value="<%=rs("id")%>"></td>
    </tr>
    <tr>
    <td align="right">Nome:</td>
    <td><input type="text" name="Nome" size="15" value="<%=rs("Nome")%>"></td>
    </tr>
    <tr>
    <td align="right">Cognome:</td>
    <td><input type="text" name="Cognome" size="20" value="<%=rs("Cognome")%>"></td>
    </tr>
    <tr>
    <td align="right">Assenza</td>
    <td><input type="text" name="Assenze" size="20" value="<%=rs("Assenze")%>"></td>
    </tr>
    <tr>
    <td align="right">Ritardi</td>
    <td><input type="text" name="Ritardi" size="15" value="<%=rs("Ritardi")%>"></td>
    </tr>
    </table></td>
    </tr>
    <tr>
    <td align="center"><input type="submit" name="Submit" value="Contatti" onclick="contatti.asp">
    <input type="submit"
    value="Ritorna Indietro" name="Ritorna indietro" onClick="inserimento.asp"></td>
    </tr>
    </table>
    </form>
    <%
    rs.Close
    CloseCN
    else
      Response.Redirect("inserimento.asp")
    end if

    %> 
    grazie del vostro aiuto .. siete veramente gentile

  6. #6
    Adesso l'errore è dovuto al fatto che la variabile ID è vuota.
    Prova a levare queste 2 righe:
    Sub Richiedi_dati
    End Sub

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    81
    niente solito errore ... non vuole proprio andare avanti.. perchè ?? non si sà .. cmq mi può dire lei dove posso trovare un qualcosa di già fatto e vedere il perchè non vuole andare avanti in nessuna maniera ..

  8. #8
    codice:
    
    ID = Request.Form("ID")
    if len(ID) = 0 or (not isNumeric(ID)) then
    response.write "Ciccio, il campo ID è vuoto oppure non contiene un numero! Guarda: " & response.write ID
    response.flush
    end if
    password = Request.Form("password")
    if len(password) = 0 then
    response.write "Ueee! La password è vuota!!!"
    else
    password = Replace(password, "'", "''")
    end if
    
    'query sql per il confronto fra id e password'
    sql = "SELECT ID FROM prova WHERE ID = " & ID & " AND PASSWORD = '" & password & "'"
    
    Set rs = cn.Execute(sql)

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    81
    grazie provo subito

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    81
    ma che biiiiip .. niente ecco l'errore il sito dove stà mettendo il file sta quà
    http://mbsite.somee.com/inserimento.asp
    digita id 1 e pass 185
    e ti riporterà quà http://mbsite.somee.com/controlloID.asp?ID=1&=185
    dove ti dirà l'ennesimo errore .. ora mi metto a piangere

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.