¿como almacenar el resultado de una query en una variable?

Iniciado por thecirujano, 5 Octubre 2007, 23:25 PM

0 Miembros y 1 Visitante están viendo este tema.

thecirujano

bueno la query sql es la siguiente SELECT MAX(Sales) FROM ID

Tengo el siguiente codigo pero nose como almacenar el resultador del query anterior en una variable

Public Class Form1
    Dim dt As New DataTable
    Dim da As New SqlClient.SqlDataAdapter
    Dim fila As Integer

    Private Sub btnConectar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConectar.Click
        Dim cadena As String = "data source=WINDOWS-ERWL836\SQLEXPRESS;initial catalog=benja;integrated security=true"
        'Data source es el servidor, Catalog es la BD que usaremos
        Dim conexión As New SqlClient.SqlConnection(cadena)
        'conexión a la bases de datos SQL
        Dim cadenaSeleccion As String = "SELECT cod,nombre FROM benja ORDER BY cod"
        'Cadena de seleccion
        ' Crear un nuevo objeto del tipo DataAdapter
        da = New SqlClient.SqlDataAdapter(cadenaSeleccion, cadena)
        dt = New DataTable
        ' Llenar la tabla con los datos indicados
        da.Fill(dt)
        fila = 1 'El primer dato es el 0
        mostrarDatos(fila)
    End Sub
    Private Sub mostrarDatos(ByVal f As Integer)
        Dim dr As DataRow = dt.Rows(f)
        txtCodigo.Text = dr("cod").ToString
        txtNombre.Text = dr("Nombre").ToString
    End Sub
End Class

Hadess_inf

Crea una funcion y retorna el tipo de dato:

Bueno no entiendo muy bien la pregunta, seria bueno que expliques bien que es lo que deseas para poder ayudarte, saludos.

P[i]

Lo tienes muy liado yo te recomiendo esto para las consultas:

utilizar -> System.Data.SqlClient

Private Sub ....... Lo que sea ..........
'Cadena de conexion siempre y cuando esteas usando un server sql express local
Dim strconn As String = "data source=WINDOWS-ERWL836\SQLEXPRESS;initial catalog=benja;integrated security=true"
'Cadena de la consulta
Dim strcons As String = "SELECT MAX(Sales) FROM ID"

'Nos Conectamos
Dim conn As SqlConnection = New SqlConnection(strconn)
conn.Open()
'Creamos e manipulador de la consultas.
Dim cons As SqlCommand = New SqlCommand(strcons,conn)
'Ejecutamos consulta y la guardamos
Dim result As SqlDataReader = cons.ExecuteReader()

'Ahora manipulamos los resultados
Try
Do while result.Read()  ' aqui cambia la fila
     result(0) ' Este es la primera columna de la primera fila
     result(1) ' Este es la sefuda columna de la primera fila
    ............................. y asi todas las que sea necesario
    ' En tu caso solo se necesitaria la primera columan result(0)
   ' El valor devuelto es el que mas se aproxime de sql a vb en tu caso devulve un Integer
Loop
Finally
   result.Close()
End Try

conn.Close()
End Sub


Creo que esta bien explicado pero si no vuelve a preguntar.

Saludos.

Hadess_inf

#3
Bueno yo lo haria de la siguiente forma:
Si lo que quieres es obtener el numero de fila, has lo siguiente:

Dim conAs String = "data source=WINDOWS-ERWL836\SQLEXPRESS;initial catalog=benja;integrated security=true"
dim da as sqldataadapter
dim dtb as data.datatable
function retornavalor(byval fila as integer) as string
  da = new sqldataadapter("SELECT cod,nombre FROM benja ORDER BY cod",con)
  dtb = new data.datatable
  da.fill(dtb)
  dim nombre as string = dtb.rows(fila)("nombre").tostring
  return nombre
end function

sub load_form......
  msgbox retornavalor(1)
end sub

Espero te sea util.