Foros del Web » Programación para mayores de 30 ;) » .NET »

Como saber si existe un registro para actualizar o insertar

Estas en el tema de Como saber si existe un registro para actualizar o insertar en el foro de .NET en Foros del Web. Hola, Como puedo comprobar si existe un registro en la Db, no conozco la sintaxis correcta. select * from tabla where campo = xxx ... ...
  #1 (permalink)  
Antiguo 08/05/2005, 14:13
 
Fecha de Ingreso: diciembre-2001
Mensajes: 262
Antigüedad: 22 años, 4 meses
Puntos: 0
Como saber si existe un registro para actualizar o insertar

Hola,

Como puedo comprobar si existe un registro en la Db, no conozco la sintaxis correcta.

select * from tabla where campo = xxx
...
If "resgistro Existe" Then
.....codigo para actualizar lo que sea

Else
.... codigo para insertar un registro nuevo


¿es necesario que asigne los datos a algun datagrid o algo? o haciendo un executeNonquery me sirve.


Gracias.
  #2 (permalink)  
Antiguo 08/05/2005, 14:38
 
Fecha de Ingreso: marzo-2005
Mensajes: 94
Antigüedad: 19 años, 2 meses
Puntos: 0
Hola almaluz, creo que puedes usar un datareader:
Pones la sentencia sql y luego haces:
if dr.read then (dr es el nombre del datareader)
actualizar ( usas el executenonquery pero quiza tengas que crear otro objeto command)
else
insertar (con el executenonquery o con el commandbuilder)
end if
Espero que te sirva de ayuda. Adios.
  #3 (permalink)  
Antiguo 08/05/2005, 15:24
 
Fecha de Ingreso: diciembre-2001
Mensajes: 262
Antigüedad: 22 años, 4 meses
Puntos: 0
Hola.

tengo esto.
Dim ObjCmd As New OleDbCommand ("SELECT * FROM pedidos Where codigo=codigo",ObjConn)
Dim ObjReader As OleDbDataReader

If ObjReader.Read Then...

Y me da el error:
System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto
...
Línea 52: If ObjReader.Read Then
  #4 (permalink)  
Antiguo 08/05/2005, 17:47
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Te manda ese error porque no asignas en ningún momento el DataReader, tu código debería quedar como sigue:

Dim ObjCmd As New OleDbCommand ("SELECT * FROM pedidos Where codigo=codigo",ObjConn)
ObjConn.Open()
Dim ObjReader As OleDbDataReader = ObjCmd.ExecuteReader()

If ObjReader.Read Then...
....
ObjReader.Close()
ObjConn.Close()

No sé con que base de datos estés programando, pero si éste soporta procedimientos almacenados o algo parecido, sería mejor que utilices eso.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
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 22:06.