Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    access controllo record correlati

    come si va a verificare se ci sono record correlati????


    cioè vorrei un update in qs modo:

    codice:
    query4 = "UPDATE TipoPietanze SET descrizione=@campo WHERE descrizione=@compare"
            command4 = New OleDbCommand(query4, cn)
            command4.Parameters.Add("@campo", campo)
            command4.Parameters.Add("@compare", compare)
            Response.Write(command4)
            Try
                command4.ExecuteReader()
                command4.Connection.Close()
                                   
            Catch ex As System.Data.OleDb.OleDbException
                Response.Write(ex.Message & " " & ex.StackTrace)
                'Err.Visible = True
                
            Finally
                
                cmd.Connection.Close()
                cn.Close()
                
            End Try
    però il campo descrizione è legato ad un altra tabella...quindi vorrei gestire l'eccezione se effettivamente ci sono campi correlati altrimenti può procedere beneissimo all'update

  2. #2

    Re: access controllo record correlati

    Perche' usi ExecuteReader? ExecuteReader e' una funzione dell'oggetto command che restituisce un datareader contenente dei record da scorrere dal primo all'ultimo. Nel tuo caso, devi fare una query sql che modifica un record quindi devi usare la funzione ExecuteNonQuery(). E' questa la funzione da usare quando vuoi fare un insert, update oppure delete e restituisce tra l'altro il numero di righe coinvolte nell'aggiornamento.
    Il codice che hai postato andrebbe meglio cosi
    codice:
    Try
    command4 = New OleDbCommand(query4, cn)
    command4.Parameters.Add("?", OleDb.OleDbType.VarChar).Value = campo
    command4.Parameters.Add("?", OleDb.OleDbType.VarChar).Value = compare
    cn.open()
    command4.ExecuteNonQuery()                               
    Catch ex As System.Data.OleDb.OleDbException
    Response.Write(ex.Message & " " & ex.StackTrace)
    Finally            
    cn.Close()            
    End Try
    però il campo descrizione è legato ad un altra tabella...quindi vorrei gestire l'eccezione se effettivamente ci sono campi correlati altrimenti può procedere beneissimo all'update
    non credo di aver capito bene cmq prima di procedere all'update puoi fare una selezione sulla tabella che vuoi tu e ottenere un singolo risultato (in questo caso puoi usare la funzione ExecuteScalar del command). In base a questo risultato procedi all'update.
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.