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

Asignar Variable A Una Consulta Sql

Estas en el tema de Asignar Variable A Una Consulta Sql en el foro de .NET en Foros del Web. hola estoy usando vs 2005 y sql 2005 express, y quiero hacer un select a una tabla para que me devuelta el vAlor maximo de ...
  #1 (permalink)  
Antiguo 19/03/2008, 21:16
 
Fecha de Ingreso: marzo-2008
Mensajes: 94
Antigüedad: 16 años, 1 mes
Puntos: 0
Asignar Variable A Una Consulta Sql

hola estoy usando vs 2005 y sql 2005 express, y quiero hacer un select a una tabla para que me devuelta el vAlor maximo de un campo y a ese valor sumarle "1",eso ya lo tengo pero ahora el problema es que quiero que ese valor lo muestre en un textbox, este es el codigo

TextBox.Text = rs.Open("select max(codigo)from miTabla", cnn)

ese codigo da un error que dice que la expresioin no genera un valor,quiero saber como hacer que esa consulta genere un valor y asignarla a una variable para poder sumarle "1" Y despues mostrarlo en el textbox

ojala me entiendan,
gracias de antemano
  #2 (permalink)  
Antiguo 19/03/2008, 21:38
Avatar de Adolfiten  
Fecha de Ingreso: enero-2008
Ubicación: Frente a mi monitor...
Mensajes: 572
Antigüedad: 16 años, 3 meses
Puntos: 7
De acuerdo Re: Asignar Variable A Una Consulta Sql

Valor, definí una variable de algún tipo de dato que soporte el que tenés como id en la base de datos... e igualalo al campo que te trae la consulta.
Yo uso DataSet's...
EJEMPLO:


Código:
Dim valor as Integer

Dim unaFila As DataRow
unaFila = Ds.Tables(0).Rows(0)

valor = CType(unaFila.Item("Nombre_campo_que_solicitaste"), String) 'String o el tipo de dato que sea...
Ds es una instancia de un dataset que contiene el resultado de la consulta. Luego de tener el valor en la variable es una pasada, lo ponés donde vos quieras, textbox, labels... etc.

Espero ayude... saludos.


Pará pará... ¡es mi post 97 creo!
  #3 (permalink)  
Antiguo 19/03/2008, 22:31
Avatar de jlbautista  
Fecha de Ingreso: enero-2007
Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Asignar Variable A Una Consulta Sql

El problema es q hay q diferenciar entre un tipo de dato y otro:
* TextBox1.Text te admite un string como argumento a esa propiedad.
* rs.Open, o cualquier otro modo de ejecución del comando SELECT a una base de datos te regresará una fila (Row) q pertenece a una tabla (Table) y q puedes vincular o asociar con otras tablas en una colección de ellas (DataSet)...
Por lo tanto el valor q mandas como argumento a la propiedad .Text del TextBox, no coincide en TIPOS de dato con el regresado por tu consulta

Adolfiten te dió una buena idea de como vincular los datos q obtienes de tu consulta a un DataSet y luego ingresar a esos valores para poder hacer uso de ellos en los controles q te proporciona el IDE de .NET

Podrias usar algo como esto tambien:
Código:
 'vinculas el resultado de tu consulta a un DataTable
Dim dtTemporal as DataTable = rs.Open("select max(codigo)from miTabla", cnn)
'Accesas a la Primer fila de tu DataTable, en su primer columna y asignas el valor a la variable
TextBox1.Text = dtTemporal.Rows(0)(0).ToString()
Cuestión q juegues con los valores dentro del DataTable, Rows, o incluso Columns, y recuerda q los valores q asignas a variables o propiedades de controles deben coincidir en tipo de datos
Espero te Sirva
  #4 (permalink)  
Antiguo 10/04/2008, 13:17
 
Fecha de Ingreso: marzo-2008
Mensajes: 94
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Asignar Variable A Una Consulta Sql

me sigue saliendo el mismo error:
"la expresion no general un valor"
  #5 (permalink)  
Antiguo 10/04/2008, 14:41
Avatar de jlbautista  
Fecha de Ingreso: enero-2007
Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Asignar Variable A Una Consulta Sql

Hola
Solo para preguntarte:
1. Usas ADO para conectarte a tu BD?

Puedes postear tu código para checarlo, pls?
Creo q se usa algo como:
Código:
rs.Open "tu query SQL",cnn 
http://www.aspfacil.com/articulos/2808001.asp

Estamos en contacto

Última edición por jlbautista; 10/04/2008 a las 14:50
  #6 (permalink)  
Antiguo 11/04/2008, 05:30
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Re: Asignar Variable A Una Consulta Sql

1. Estás tratando de obtener UN valor usando un conector ADO DB, que está generado para devolver una tabla o un registro. Esto es así porque usas un adaptador y el adqapador relaciona el dataset o el datatable con un origen de datos...
2. Si lo que tu quieres es el dato, no actualizarlo, o releerlo, sino el dato puro, lo que debes usar es SQL direcxto por medio de SqlCommand, siendo este objeto de la clase específica (de esser posible) de la base de datos que estés usando.
3. Los objetos SqlCommand (SqlCommand, OdbcCommand, OracleCommand, SqlLiteCommand, MysqlCommand, etc.), poseen un método denominado ExecuteReader cuyo fin es devolver un valor determinado cuando la sentencia SQL devuelve un y sólo un campo o valor. Así, una secuencia a aproximada sería:
Código:
Dim cxn as OdbcConnection(strConexion)
cxn.Open
Dim sSql as OdbcCommand("select max(codigo)from miTabla",cxn)
Dim valor as integer = sSql.ExecuteReader()
El uso de ExecuteNonQuery, devuelve el número de registros afectados, su ID o -1 si no se pudo realizar.
Usar cualquiera de los métodos de un XxxxCommand, implica controlar también las Exceptions que puedan producirse, ya que las mismas no serán absorbidas por el ADO.
  #7 (permalink)  
Antiguo 30/04/2008, 14:30
 
Fecha de Ingreso: marzo-2008
Mensajes: 94
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Asignar Variable A Una Consulta Sql

gracias a todos pero ya lo solucioné de esta forma:

Rs.open("select max(campoSolicitado) from tabla",cnn)
textbox.text=Rs.Fields(0).Value
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 12:01.