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

dudas generales ado.net

Estas en el tema de dudas generales ado.net en el foro de .NET en Foros del Web. Estoy acostumbrado a utilizar VB6 y estoy aprendiendo a acceder a bases de datos .NET. Mis dudas son las siguientes: 1º Cuando se debe usar ...
  #1 (permalink)  
Antiguo 07/03/2005, 01:29
 
Fecha de Ingreso: septiembre-2004
Mensajes: 171
Antigüedad: 19 años, 7 meses
Puntos: 0
dudas generales ado.net

Estoy acostumbrado a utilizar VB6 y estoy aprendiendo a acceder a bases de datos .NET. Mis dudas son las siguientes:

1º Cuando se debe usar un dataReades en vez de usar el dataAdapter y el dataSet?

2º Si para sacar los datos de una tabla y mostrarlos en un formulario utilizo una conexion un comando y un dataAdapter enlazado a un dataSet, cuando modifico esos datos inserto o elimino estaría modificando el dataSet, como hago para que esos cambios se realicen en la base de datos? tengo entendido que actualizando el dataAdapter ya lo hace automaticamente pero no lo entiendo muy bien como hacerlo.

3º Si alguien puede enseñarme un pequeño esquema, de como añadir, eliminar o modificar la base de datos.


Espero no sea mucha molestia se que igual pueden parecer dudas tontas pero creo q lo principal para aprenderlo es que tenga estas ideas claras ya que sino voy a tener que andar siempre copiando codigos de ejemplo sin saber acerlo yo solo.

Gracias por las molestias
  #2 (permalink)  
Antiguo 07/03/2005, 09:32
 
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
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 07:13.