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

Mostrar Datos de un DataSet en cajas de Texto.

Estas en el tema de Mostrar Datos de un DataSet en cajas de Texto. en el foro de .NET en Foros del Web. Hola, de partrida soy inexperto en esto, y e leido manuales, pero en ninguno explican como hacer esto. Uso WebMatrix, y gracias a los asistentes ...
  #1 (permalink)  
Antiguo 15/04/2005, 19:07
 
Fecha de Ingreso: mayo-2004
Mensajes: 14
Antigüedad: 20 años
Puntos: 0
Mostrar Datos de un DataSet en cajas de Texto.

Hola, de partrida soy inexperto en esto, y e leido manuales, pero en ninguno explican como hacer esto.

Uso WebMatrix, y gracias a los asistentes y todo eso, e creado el siguiente codigo.
Cita:
Function llenaMx(ByVal compraID As String) As System.Data.DataSet
Dim connectionString As String = "server='(local)'; user id='sa'; password='xxx'; database='Compras'"
Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionStri ng)

Dim queryString As String = "SELECT [compra].* FROM [compra] WHERE ([compra].[CompraID] = @CompraID)"
Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection

Dim dbParam_compraID As System.Data.IDataParameter = New System.Data.SqlClient.SqlParameter
dbParam_compraID.ParameterName = "@CompraID"
dbParam_compraID.Value = compraID
dbParam_compraID.DbType = System.Data.DbType.String
dbCommand.Parameters.Add(dbParam_compraID)

Dim dataAdapter As System.Data.IDbDataAdapter = New System.Data.SqlClient.SqlDataAdapter
dataAdapter.SelectCommand = dbCommand
Dim dataSet As System.Data.DataSet = New System.Data.DataSet
dataAdapter.Fill(dataSet)
Return dataSet
End Function
Con eso creo un data set que devuel la info pasado un valor.

La cosa es que puedo llenar un Datagrid, lo que no es gran cosa, porque lo hace casi solo, pero como lo hago para rescatar cada campo del registro que se selecciona en cajas de texto o TextBox.

Gracias.
  #2 (permalink)  
Antiguo 15/04/2005, 23:30
 
Fecha de Ingreso: abril-2003
Mensajes: 606
Antigüedad: 21 años
Puntos: 2
Si por ejemplo quieres llenar dos TextBox con dos campos de la primera fila utilizas:

Código:
txtBox1.Text = ds.Tables[0].Rows[0][0].ToString();
txtBox2.Text = ds.Tables[0].Rows[0][1].ToString();
Donde:

Tables[0] se refiere a la tabla 1 de tu DataSet
Rows[0] se refiere al primer registro
Rows[0][0] se refiere al primer campo del primer registro el segundo [0] puede ser sustituido por el nombre de tu campo ejemplo Rows[0]["nombre"]

Saludos
  #3 (permalink)  
Antiguo 16/04/2005, 14:44
 
Fecha de Ingreso: mayo-2004
Mensajes: 14
Antigüedad: 20 años
Puntos: 0
Tengo un codigo Mas simple
Cita:
Sub Button1_Click(sender As Object, e As EventArgs)
Dim DS As DataSet
Dim MyConnection As SqlConnection
Dim MyCommand As SqlDataAdapter

MyConnection = New SqlConnection("server=(local);database=Compras;Tru sted_Connection=yes")
MyCommand = New SqlDataAdapter("select * from compra", myConnection)

DS = new DataSet()
MyCommand.Fill(DS, "compra")
Dim myTable As DataTable = DS.Tables("compra")

TextBox1.Text = DS.Tables[0].Rows[0][0].ToString();
End Sub
Value of type 'System.Data.DataTableCollection' cannot be converted to 'String'.

Ese Resultado me arroja.
  #4 (permalink)  
Antiguo 17/04/2005, 00:08
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Por lo visto sólo quieres recuperar una sola tupla, te recomiendo que uses un DataReader en lugar de un DataSet.
Código:
Dim MyCommand As New SqlCommand("select * from compra", New SqlConnection("server=(local);database=Compras;Trusted_Connection=yes"))
MyCommand.Connection.Open()
Dim dr As IDataReader = MyCommand.ExecuteReader(CommandBehavior.CloseConnection)
If (dr.Read()) Then
            TextBox1.Text = dr("NombreColumna").ToString()
End If
MyCommand.Connection.Close()
Falta corregir la consulta SQL para que traiga sólo una tupla de la base de datos.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
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 16:46.