Visual Basic.NET - ExecuteScalar.....?

 
Vista:

ExecuteScalar.....?

Publicado por mario martin (22 intervenciones) el 25/10/2007 18:41:20
Hola, espero me puedan ayudar les agradeceria bastante,
bueno tengo un error y eso ocurre en la linea del "executescalar"

Public Shared Function getconnection() As OleDbConnection
Dim connection As New OleDbConnection()
connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\mario\Escritorio\comedor.mdb;Persist Security Info=True"
Return connection
End Function

Public Shared Function SelectTrabajador() As Integer
Dim sql As String = "select Codtrab from comedor where nombres"
Dim dbValue As Integer
Using connection As OleDbConnection = conexion.getconnection()
connection.Open()
Using command As New OleDbCommand(sql, connection)
command.CommandType = CommandType.Text
=============> dbValue = Convert.ToInt32(command.ExecuteScalar())
End Using
End Using
MsgBox("cogio el parametro")
Return CInt(dbValue)
End Function

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim selectproduct As Integer = consulta.SelectTrabajador()
Me.TextBox1.Text = selectproduct
Catch ex As Exception
label.text="error"
End Try
End Sub

Bueno alguien que me pueda ayudar le agradeceria bastante, lo que pasa es que recien estoy intentando programar con clases y me sale este error .....

Gracias mario martin
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:ExecuteScalar.....?

Publicado por P. J. (706 intervenciones) el 25/10/2007 18:56:22
...
Dim sql As String = "select Codtrab from comedor where nombres"
Dim dbValue As Integer
...
=============> dbValue = Convert.ToInt32(command.ExecuteScalar())

Hubieras puesto el error exacto que te bota, pero bueno...

Tu consulta esta mal, si es que la pones asi como esta: "select Codtrab from comedor where nombres", WHERE NOMBRES = < ALGUN VALOR PARA QUE DEVUELVA UN REGISTRO>

El executeScalar no ejecuta la consulta, por el error que tiene del Where.

Espero te ayude.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ExecuteScalar.....?

Publicado por mario martin (22 intervenciones) el 25/10/2007 19:22:59
Dim sql As String = "select Codtrab from comedor where nombres='jorge pre'"
Dim dbValue As Integer
...
=============> dbValue = Convert.ToInt32(command.ExecuteScalar())
dbValue = Convert.ToInt32(command.ExecuteScalar())

bueno en este caso me olvide del where perdon , pero colocandole igual no funciona, en este caso no me vota ningun error ,

yo tengo un texbox para que me arroje el codigo y no me arroja nada.

cuando empiezo a depurarlo con un punto de interrupcion me sale un error alli.

gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:ExecuteScalar.....?

Publicado por P. J. (706 intervenciones) el 25/10/2007 20:14:17
...

" pero colocandole igual no funciona, en este caso no me vota ningun error , "
Aja!, no te bota ningun error, porque la consulta esta bien echa.

"cuando empiezo a depurarlo con un punto de interrupcion me sale un error alli"
pero que error te da?, corriste esa consulta en el sql para ver si devuelve al menos 1 dato?

Codtrab es entero ¿cierto?, porque sino estarias casteando por gusto.

Si pones que error te da, se te podria ayduar mejor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ExecuteScalar.....?

Publicado por mario martin (22 intervenciones) el 25/10/2007 21:29:30
Hola:
Muchas gracias por la sugerencia si me salio.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ExecuteScalar.....?

Publicado por lucas (1 intervención) el 26/10/2007 20:22:38
estoy probando con el "ExecuteScalar" una sentencia "Delete", con un objeto oleDbCpmmand. Como puedo saber si borro registros o no, ya que chequenado en la base, cuando existen los registros para borrar lo hace sin ningun problema, pero si no los hay, tambien termina el precedimiento sin saltar ninguna escepcion en el try.
desde ya muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:ExecuteScalar.....?

Publicado por P. J. (706 intervenciones) el 26/10/2007 20:53:54
!!!

Porque mejor no usas un ExecuteNonQuery, eso lo casteas a Int, y si es distinto de CERO entonces lo borro.

Ahora puedes usar un SP, y que te devuelva un valor, pero eso ya seria al nivel del SQL, es cuestion de tu entorno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar