Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: for con mysql

  1. #1

    for con mysql

    dopo essere riuscito a realizzare il tutorial di freeasp, ho deciso di provare un po da solo ad utilizzare mysql.

    ho creato una tabella con 3 campi e un po di record, e da una pagina asp voglio leggere il numero dei record e, tramite un for, visualizzare tutti i record presenti:

    il codice:

    codice:
    
    <%
    Dim Conn
    Dim Comm
    Dim Rs
    Set conn = Server.CreateObject("ADODB.Connection")
    Set comm = Server.CreateObject("ADODB.Command")
    Set Rs = Server.CreateObject("ADODB.Recordset")
     
    conn.CommandTimeout = 40
    conn.CursorLocation = 1 
    conn.ConnectionString = dbConnessione
    conn.Open
     
    comm.ActiveConnection = conn
    comm.CommandType = 1 
     
    
    
    sql = "SELECT COUNT(*) AS totale FROM nomi"
    set rs = conn.execute(sql) 
    
    RECS = (rs("totale"))
    
    Set rs = nothing
    
    sql1 = "SELECT * FROM tabella"
    set rs1 = conn.execute(sql1) 
    	
    	for i=1 to RECS
    	
    		response.write (rs1("campo1")) & "
    "
    
    	rs1.movenext
    	next
    	
    Set rs1 = nothing
    
    
    set comm = nothing
    set conn = nothing
    
    %>
    il file config.asp evito di postarlo perchp funziona, perlomeno eliminando il for vedo il primo record recuperato.

    ora, il problema è che mi torna un errore proprio alla riga

    codice:
    for i=1 to RECS
    Tipo non corrispondente

    quale può essere il problema...?!

    mi sembra di aver capito che la funzione recordount non è supportata, o meglio non mi funziona, percui prendendo spunto da una ricerca ho trovato solo la soluzione di creare una query opposita per leggere il numero dei record.

    Ah, probabilmente la pagina è zeppa d'errori, mi scuso e vi invito, qualora lo vogliate, a segnalarmeli. purtroppo sono un ASPista 'faidate' e sto imparando pian piano.

    grazie

  2. #2
    inve del ciclo for...next usa il do while not rs.eof...loop

  3. #3
    Originariamente inviato da optime
    inve del ciclo for...next usa il do while not rs.eof...loop
    porca paletta mica ci avevo pensato sai..

    ad ogni modo c'è una motivazione per cui il for non funziona?!

  4. #4
    nel tuo caso è solo un problema di tipo di dati. probabilmente con CNLG(RECS) funzionerebbe tutto.

    ma pensa una cosa.

    1. conti i record. son 1000
    2. un altro utente cancella un record
    3. parte il tuo ciclo. dopo 999 da' errore...


  5. #5
    Originariamente inviato da optime
    nel tuo caso è solo un problema di tipo di dati. probabilmente con CNLG(RECS) funzionerebbe tutto.

    ma pensa una cosa.

    1. conti i record. son 1000
    2. un altro utente cancella un record
    3. parte il tuo ciclo. dopo 999 da' errore...

    non fa una piega anche se io all'interno del for mettervo solitamente un :
    codice:
    if rs.eof then
      exit for
    end if
    per ovviare al problema..

    ora cerco di farlo con il do while ma mi si presenta un problema:

    la query per recuparare il numero di record posso eliminarla, percui con una query:

    select * from tabella dovrei riuscire a far funzionare la cosa giusto?!

    ora se metto
    codice:
    do while rs.eof
        response.write (rs("nome")
    loop
    non mi recupera nessun record.. come mai?!

  6. #6

  7. #7
    codice:
    <%
    Dim Conn
    Dim Comm
    Dim Rs
    Set conn = Server.CreateObject("ADODB.Connection")
    Set comm = Server.CreateObject("ADODB.Command")
    Set Rs = Server.CreateObject("ADODB.Recordset")
     
    conn.CommandTimeout = 40
    conn.CursorLocation = 1 
    conn.ConnectionString = dbConnessione
    conn.Open
     
    comm.ActiveConnection = conn
    comm.CommandType = 1 
     
    sql = "SELECT * FROM nomi"
    set rs = conn.execute(sql) 
    
    do while rs.eof
    
    response.write (rs("nome"))&"
    "
    response.write(rs("cognome"))&"
    "
    response.write(rs("ind"))&"
    "
    response.write(rs("telefono"))&"
    
    "
    
    loop
    	
    Set rs = nothing
    set comm = nothing
    set conn = nothing
     
    %>
    se tolgo il do while loop il primo record lo visualizzo..

  8. #8
    andreino, do while NOT rs

  9. #9
    Originariamente inviato da optime
    andreino, do while NOT rs
    eccoci, sono alla frutta..

    scusa ma sto cotto davvero .. non è possibile nn vedere un errore del genere.. dopo questa mollo e riprendo domani che è meglio...
    grazie della pazienza...

  10. #10
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    Originariamente inviato da optime
    andreino, do while NOT rs
    non ho resistito...scusate sei popo der Bilan
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

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 © 2025 vBulletin Solutions, Inc. All rights reserved.