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

ExecuteScalar

Estas en el tema de ExecuteScalar en el foro de .NET en Foros del Web. Hola amigos, tengo el siguiente codigo: ' Asigno ID de usuario. strConsulta = "Select max(id_comp) from componentes" miCmd.CommandText = strConsulta lblid.Text = miCmd.ExecuteScalar + 1 ...
  #1 (permalink)  
Antiguo 15/03/2005, 13:01
 
Fecha de Ingreso: febrero-2005
Mensajes: 108
Antigüedad: 19 años, 3 meses
Puntos: 0
ExecuteScalar

Hola amigos, tengo el siguiente codigo:

' Asigno ID de usuario.

strConsulta = "Select max(id_comp) from componentes"

miCmd.CommandText = strConsulta



lblid.Text = miCmd.ExecuteScalar + 1


Lo q hace simplemente es asignar un id al insertar un componente, este id es el maximo id q hay en la tabla componentes +1, el problema viene q cuando esta vacia la tabla, me dice q DBNull + integer nanai, no hay manera...He probado a hacer un If Typeof miCmd.ExecuteScalar is DBnull para saber si va a devolver un DBNull pero no funciona, no se, a ver si a alguien se le ocurre como puedo saber si la consulta no me devuelve ningun valor o algo para solucionar esto, gracias ;)

Un saludo a todos.
  #2 (permalink)  
Antiguo 15/03/2005, 13:54
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 3 meses
Puntos: 50
Puedes hacerlo de 2 formas:

1.-
Cita:
If Not oCmd.ExecuteScalar Is DBNull.Value Then
iTotal = oCmd.ExecuteScalar + 1
End If
...
...
y la segunda:

Cita:
Dim sTotal As String
Dim iTotal As Integer

oConn.Open()
sTotal = Convert.ToString(oCmd.ExecuteScalar)
If sTotal <> "" Then
iTotal = CType(sTotal, Integer) + 1
End If
...
oConn.Close()
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
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 23:23.