Foros del Web » Programando para Internet » ASPX (.net) »

Hacer INSERT y si existe que haga UPDATE

Estas en el tema de Hacer INSERT y si existe que haga UPDATE en el foro de ASPX (.net) en Foros del Web. Hola, igual esta pregunta no va mucho en este foro, pero como lo estoy haciendo con ASP .NET.... (con DB en Access) Quería saber si ...
  #1 (permalink)  
Antiguo 11/09/2006, 04:00
 
Fecha de Ingreso: septiembre-2005
Mensajes: 26
Antigüedad: 18 años, 8 meses
Puntos: 0
Hacer INSERT y si existe que haga UPDATE

Hola, igual esta pregunta no va mucho en este foro, pero como lo estoy haciendo con ASP .NET.... (con DB en Access)

Quería saber si existe alguna forma de hacer un INSERT y en el caso de que el registro ya existiera que haga 1 UPDATE con los datos modificados.

Gracias.
  #2 (permalink)  
Antiguo 11/09/2006, 07:02
Avatar de .seb  
Fecha de Ingreso: marzo-2006
Ubicación: Uruguay
Mensajes: 493
Antigüedad: 18 años, 1 mes
Puntos: 1
"Automáticamente" no!
Debes buscar por la clave si el elemento existe si es así haces el UPDATE, sino el INSERT.
__________________
saludos
seba
http://sgomez.blogspot.com
  #3 (permalink)  
Antiguo 11/09/2006, 08:13
 
Fecha de Ingreso: julio-2005
Ubicación: Córdoba
Mensajes: 254
Antigüedad: 18 años, 9 meses
Puntos: 0
Lo que se me ocurre seria en tu consulta, primero hacer un oldbdatareader que lea el dato que pedis en la consulta osea ( wehere tal cosa= tal otra), luego preguntas si el dataread leyo algo, si te responde si, entonces, derivas a una funcion que se llame Actualiza( datos1, datos 2) y sino, a una que se llama Inserta( datos 1, datos 2 )

el codigo fuente seria mas o menos asi:
Código PHP:
Function leerporsiexiste(ByVal dato1ByVal dato2ByVal dato3)
Try
            
Dim con As OleDbConnection
            con 
= New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" server.mapPath("mibase.mdb") & "")
            
Dim dr As OleDbDataReader
            Dim sql 
As String "SELECT  * FROM (mitabla)WHERE ((mitabla.midato1)='" dato1"') ;"

            
Dim dralu As OleDbDataReader
            Dim cmd 
As OleDbCommand
            cmd 
= New OleDbCommand(sqlcon)
            
con.Open()
            
dralu cmd.ExecuteReader
            
If dralu.Read Then
                Actualiza
(dato1,dato2,dato3)
            Else
                
Inserta(dato1,dato2,dato3)
            
End If
            
con.Close()
            
cmd.Dispose()
            
con.Dispose()


        Catch 
err As OleDbException
            
Throw err
        
Catch err As Exception
            
Throw err
        End 
Try 
Luego las funciones iactualiza o inserta, las haces como siempre, con la sentencia update, y con insert.

Espero te sirva
__________________
Facil ! Lo unico que hay que hacer para no ser animal, es razonar !
  #4 (permalink)  
Antiguo 11/09/2006, 08:51
 
Fecha de Ingreso: septiembre-2005
Mensajes: 26
Antigüedad: 18 años, 8 meses
Puntos: 0
Gracias por la ayuda

Al final lo resolvi de forma que no cabia la posibilidad del Insert, puse un paso previo para que hiciera todos los Inserts posibles, y asi luego solo tenia que hacer Updates.

Gracias de todas formas.

Un saludo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:44.