Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/03/2005, 09:32
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
1-. El DataReader es como un RercordSet, si solo quieres mostrar unos datos, por ejemplo, rellenar un combo, puedes usar el RecordSet.

Si lo que quieres es poder acceder a todos los datos de la BD, sin necesidad de estar conectado a ella (Y consumiendo recuros del RBDMS), entonces llenarías todos los datos de la BD en el DataSet (Consumiendo recursos del cliente XD).

2-. y 3-.
Un ejemplo sencillo:
Dim CN as SqlConnection = new SqlConnection("cadena conexion")
Dim DS as DataSet
Dim DAClientes as SqlDataAdapter = new SqlDataAdapter("select...", CN)
Dim DAProveedores as SqlDataAdapter = new SqlDataAdapter("select...", CN)
Dim CmbBDC As OleDbCommandBuilder = New OleDbCommandBuilder(DAClientes)

Try
CN.Open
DAClientes.fill(DS, "DSTClientes")
DAProveedores.fill(DS, "DSTProveedores")
'Ya tienes en tu DataSet dos DataTables, en cada uno con los datos de la tabla de la BD.
CN.Close
Catch Ex as Exception
msgbox Ex.Message
Finally
CN.close
End Try

Con el databinding Asigans los datos de un dataset a un formulario.
TxtNombreCliente.DataBindings.Add("Text", DS, "DSTClientes.campoNombre")

Y despues, para modificar un elemento sería algo asi:
Dim NR as DataRow
DAClientes.FillSchema(DS.Tables, SchemaType.Source)
Try
NR = DS.Tables("DSTClientes").rows.find("Un Valor de tu Llave Unica del Registro(id)")
NR.BeginEdit()
NR("nombre")="Nuevo Nombre Cliente"
NR.EndEdit()
DAClientes.update(DS.Tables("DSTClientes"))
DS.AccpetChantes()
catch ex as Exception
msgbox Ex.Message
End Try


Por favor, Gurus de VB.NET, si veis que no es la mejor forma de hacerlo haganmelo saber.

Pd: neikex, con eso ya tienes pa investigar. Saludos
__________________
Charlie.

Última edición por chcma; 07/03/2005 a las 09:34