Regresar   Foros del Web > Programación para sitios web > .NET > win forms

El registro es Gratis en Foros del Web
Respuesta
 
Herramientas Buscar en Tema Desplegado
Antiguo 19/03/08, 21:16:54   #1 (permalink)
e_daniel316 ha deshabilitado el Karma
 
Registrado: mar 2008
Mensajes: 9
e_daniel316 is offline  
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
  Responder Con Cita
Antiguo 19/03/08, 21:38:51   #2 (permalink)
Adolfiten ha deshabilitado el Karma
 
Registrado: ene 2008
Mensajes: 153
Adolfiten is offline  
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!
  Responder Con Cita
Antiguo 19/03/08, 22:31:14   #3 (permalink)
jlbautista no ha recibido karma de otros usuarios
 
Registrado: ene 2007
Ubicación: Durango, Méx.
Mensajes: 123
Contactar con jlbautista a través de MSN
jlbautista is offline  
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
  Responder Con Cita
Antiguo 10/04/08, 13:17:28   #4 (permalink)
e_daniel316 ha deshabilitado el Karma
 
Registrado: mar 2008
Mensajes: 9
e_daniel316 is offline  
Re: Asignar Variable A Una Consulta Sql

me sigue saliendo el mismo error:
"la expresion no general un valor"
  Responder Con Cita
Antiguo 10/04/08, 14:41:34   #5 (permalink)
jlbautista no ha recibido karma de otros usuarios
 
Registrado: ene 2007
Ubicación: Durango, Méx.
Mensajes: 123
Contactar con jlbautista a través de MSN
jlbautista is offline  
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 fecha: 10/04/08 a las 14:50:19.
  Responder Con Cita
Antiguo 11/04/08, 05:30:19   #6 (permalink)
gnzsoloyo ha deshabilitado el Karma
 
Registrado: nov 2007
Mensajes: 400
gnzsoloyo is offline  
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.
  Responder Con Cita
Antiguo 30/04/08, 14:30:37   #7 (permalink)
e_daniel316 ha deshabilitado el Karma
 
Registrado: mar 2008
Mensajes: 9
e_daniel316 is offline  
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
  Responder Con Cita
Respuesta


Califica este Tema - Asignar Variable A Una Consulta Sql.

Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado Califica este Tema
Califica este Tema:

Reglas del foro
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está activado
Las caritas están activado
Código [IMG] está activado
Código HTML está desactivado


Todas las horas son GMT -6. La hora es 12:20:37.

Message Board Statistics

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96