Visualizzazione dei risultati da 1 a 9 su 9

Discussione: EOF in aspnet

  1. #1

    EOF in aspnet

    ciao a tutti

    questa è e la mia domanda

    strSQL = "SELECT ID_Cliente,Login,Chiave,Codice,Descrizione FROM Clienti WHERE Login = '" & Replace(NomeUtente.Text, "'", "''") & "' AND chiave = '" & Replace(Pass.Text, "'", "''") & "'"
    Dim Cmd As New OleDbCommand(strSQL, Conn)
    Conn.Open()
    If Not EOF Then
    Dim myreader As OleDbDataReader = Cmd.ExecuteReader()
    Do While myreader.Read
    Codice = myreader("Codice")
    Descrizione = myreader("Descrizione")
    Cliente = myreader("ID_Cliente")
    Loop
    myreader.Close()
    Response.Redirect("SceltaIntervento.aspx?Cod=" &Codice & "&Des=" & Descrizione & "&Cli=" & Cliente & "")
    Else
    Response.Redirect("LoginInt.aspx")
    End If
    Conn.Close()

    If Not EOF Then questa riga non è valida.......come fare qualcosa di simile in aspnet

    saluti e grazie

  2. #2
    Ciclando sull'oggetto datareader non penso che hai bisogno di controllare se il recordset(chiamiamolo cos' per capirci) sia vuoto o meno.

    Ciao
    Kalman
    Kalman

  3. #3
    scusa siccome sono nuovo che intendi per cliccare sul datareader

    ciao

  4. #4
    ok kalman

    ho risolto testanto se c'è qualcosa nel datareader

    cmq grazie

  5. #5
    Comunque anche se hai risolto, informazione per tutti:

    Usando un ciclo del tipo

    While myReader.Read()
    .....
    End While

    non serve testare il se il datareader è pieno o meno.
    Entrando nel ciclo se il datareader, Read è false e quindi esce subito dal ciclo.

    Spero di essere stato chiaro.

    Ciao
    Kalman
    Kalman

  6. #6
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Originariamente inviato da Kalman
    Comunque anche se hai risolto, informazione per tutti:

    Usando un ciclo del tipo

    While myReader.Read()
    .....
    End While

    non serve testare il se il datareader è pieno o meno.
    Entrando nel ciclo se il datareader, Read è false e quindi esce subito dal ciclo.
    Questo è vero. Ma il problema di questo metodo è che, nel caso in cui Read fosse True, restituirebbe un recond in meno rispetto a quelli restituiti dalla query. Fate una prova. Se dalla vostra query vi aspettate per esempio 4 risultati, ne vedrete visualizzati soltanto 3. Questo perché il datareader "brucia" il primo record proprio per verificare se read è true o false.

  7. #7
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Originariamente inviato da rafpas
    ok kalman

    ho risolto testanto se c'è qualcosa nel datareader

    cmq grazie
    Scusa rafpas, mi potresti spiegare gentilmente come hai fatto?
    E' da tempo che uso metodi che mi sembrano poco efficaci, e cercavo appunto qualcosa di più adeguato. Ti ringrazio

  8. #8
    sembra banale.....pero per adesso funziona cosi..

    If Codice <> 0 Then
    Response.Redirect("SceltaIntervento.aspx?Cod=" & Codice & "&Des=" & Descrizione & "&Cli=" & Cliente & "")
    Else
    Response.Redirect("LoginInt.aspx")
    End If

    una condizione sul codice que legge dalla tabella.....

    ciao

  9. #9
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Ti ringrazio, ma intendevo un'altra cosa, e mi riferivo al problema indicato nel mio primo post. Il tuo metodo si riferisce ad una procedura di login, invece io vorrei trovare un sistema efficace di EOF nel caso di una pagina che visualizza una serie di records.
    Ma su questo ho già rotto abbastanza le scatole in questo forum.
    Ciao.


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.