Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    ASP in locale Errore di inizio fine record

    Ciao a tutti, ho un db in locale che mostro ai colleghi con le asp (fin li nulla di male) ho due tabelle collegate molti a molti (quindi con una terza tabella a metà delle 2).
    Se voglio visualizzare di dati della seconda tab mi da un errore: vi posto il codice ok?
    codice:
     IF  sql_SCHEDA = "" then
    	titolo = "NUOVA SCHEDA:" 
    	else	
    	Set rs2 = Server.CreateObject("ADODB.Recordset") 
    	response.write sql_scheda
    	RS2.Open sql_SCHEDA, MANUT, 3,2 
    	data = rs2("data") 
    	titolo = "MODIFICA SCHEDA DEL:" & data
    end if
    L'errore che mi da è questo:

    Tipo di errore:
    ADODB.Field (0x800A0BCD)
    Il record corrente corrisponde all'inizio o alla fine del file oppure è stato eliminato. Per eseguire l'operazione richiesta è necessario disporre di un record corrente.

    ma il record c'è, in access la sql mi funziona egregiamente mentre in asp no!

    Curiosità: Con il primo record mi funziona tutto!

  2. #2
    Prova così:

    codice:
    IF  sql_SCHEDA = "" then
    	titolo = "NUOVA SCHEDA:" 
    	else	
    	Set rs2 = Server.CreateObject("ADODB.Recordset") 
    	response.write sql_scheda
    	RS2.Open sql_SCHEDA, MANUT 
    	data = rs2("data") 
    	titolo = "MODIFICA SCHEDA DEL:" & data
    end if
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  3. #3
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Fai eseguire una query vuota...

    Roby

  4. #4
    se ti dà quell'errore vuol dire che il record effettivamente non lo trova, indipendentemente dalle relazioni con altre tabelle (suppongo ) sicuro di non cercare il record in un'altra tabella o che il database in cui cerchi via asp sia diverso da quello in cui esegui la verifica del codice sql?
    poi: che vuol dire con il primo record funge tutto? sempre nella stessa tabella?

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Tu entri nella condizione SOLO quando la query è vuota...

    codice:
    IF  sql_SCHEDA = "" then

    Cosa ti aspetti che faccia?

    Roby

  6. #6
    ... sempre stesso errorre (cmq grazie per la risposta tempestiva)...
    cavolo col primo record della tabella funziona, con gli altri no!

  7. #7
    Originariamente inviato da Roby_72
    Tu entri nella condizione SOLO quando la query è vuota...

    codice:
    IF  sql_SCHEDA = "" then

    Cosa ti aspetti che faccia?

    Roby
    E' corretta la tua osservazione, solo quella stringa sql la completo all'inizio della pagina ASP.
    così:
    codice:
    if numero_scheda <> 99999 then 
    sql_SCHEDA = "SELECT * FROM Manutenzione WHERE Manutenzione.id_manutenzione =  "&  idupri & " AND Manutenzione.stazione= " & numero_scheda
    end if

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ok ma nella condizione gli dici di entrare solo quando è vuota...

    Roby

  9. #9
    in effetti è come dice Roby, gli chiedi di eseguire una sql solo se la medesima è effettivamente vuota...e come fa in ogni caso a non darti errore al primo record come dici tu?

  10. #10
    Volevo usare la stessa pagina per inserire e modificare i dati di una scheda di manutenzione; se ne facico una nuova non ci sono problemi; se invece la modifico costruisco la seconda stringa sql all'inizio della pagina ed una volta fatta questa controllo che contenga qualcosa. Se c'è qualcosa (quindi la stringa vera e propria) faccio l'interrogazione al DB.


    ora provo a cambiare un po il codice!

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.