Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    6,034

    Semplice SELECT e confronto risultati

    ciao!
    vorrei capire come fare, con questa select
    codice:
    SqlDataAdapterTransID.SelectCommand.CommandText = "SELECT TOP 1 * FROM tabella WHERE id = ' valore_form '"
            SqlDataAdapterTransID.Fill(DataSetTransID)
    a vedere se un valore proveniente da un form (o via get) è già presente in tabella. Se non è presente, lo inserisco (classica INSERT INTO...) altrimenti mostro un messaggio di errore.


  2. #2

    Re: Semplice SELECT e confronto risultati

    Originariamente inviato da meganoide
    vorrei capire come fare, con questa select
    non credo ci sia bisogno di scomodare un datadapter, un dataset e l'utilizzo di TOP nella query per fare cio'.
    Forse basterebbe usare una select del tipo
    codice:
    select count(*) from tuatabella where id=0
    usata con un command.executescalar che ti ritorna appunto il primo valore della query.
    Saluti a tutti
    Riccardo

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    6,034
    codice:
    Query1 = "SELECT COUNT(*) FROM tabella WHERE campo = ' + valore + '"
    
    Dim risultato as integer = CType(command.ExecuteScalar(),Integer)
    
    If risultato <> valore Then
    
                SqlCommand1.CommandText = "INSERT INTO tabella ecc "
    
                Try
                    SqlCommand1.ExecuteNonQuery()
    
                    SqlCommand1.Connection.Open()
    
                    lblTransIDinserito.Visible = True
    
                Catch
                    Response.Redirect("errore.aspx")
                    SqlCommand1.Connection.Close()
                End Try
    
                SqlCommand1.Connection.Close()
                
            Else
                 lblTransIDpresente.Visible = True
    
            End If
    stavo provando questo ma mi sa che non funziona. Come potrei sistemarlo?

  4. #4
    Originariamente inviato da meganoide
    stavo provando questo ma mi sa che non funziona. Come potrei sistemarlo?
    ci sono un po' di errorini... vediamo...
    innanzitutto, quando utilizzi un command devi preoccuparti prima di farlo di aprire la sua connection
    codice:
    conn.Open
    res = tuocommand.ExecuteScalar
    conn.Close
    dopo di che penso che il controllo sia piu' corretto con
    codice:
    If not risultato > 0 Then
    dopo di che, se usi un blocco try, e' cosa buona e giusta inserire nella sezione finally (che viene SEMPRE eseguita) il comando di chiusura delle connection
    codice:
    try
    
    catch
    
    finally
    tuaconn.close
    end try
    Saluti a tutti
    Riccardo

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.