Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/03/2005, 03:39
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Dudas sobre programación en Capas VB.NET

Hola Buenos días !!!

Bueno, vereis, estoy empezando a desarrollar una aplicación en 3 capas, para practicar y todo eso, y me han surgido unas cuantas dudas teóricas que me han hecho darme cuenta de que me falta mucho por aprender. :(

Una de ellas es la siguiente:

1-. Estoy haciendo una Clase llamada AccesoBD qeu es la que se encargará de llenarme el DataSet, de escribirme en el mismo, y demás cosas.

Pues bien, tengo un método qeu es el siguiente:

public sub LlenarDataSet(ByRef DS as DataSet, ByVal Tabla as String, ByVal Sentencia as String)
'Indico el DataSet, la DataTable, y la sentencia que quiero usar para rellenar el DataTable del Dataset.
....
....
End Sub

Bien, todavía no me funciona, pero bueno, ya lo miraré, hasta aqui, bien, pero ahora la duda me surge de lo siguiente. ¿Como podría hacer el método para escribir en el DataSet?

Yo antes hacía lo siguiente:
Dim CmdBD as SqlCommandBuilder
Dim DA as SqlDataAdapter = new SqlDataAdapter("sentencia", CN)
DA.Fill(DataSet, "TablaDelDataSet")
CmdBD = new SqlCommandBuilder(DA)

Y claro, esto me funciona de vicio, pero necesito un DataAdapter, por cada tabla del DataSet que vaya a modificar. Y naturalmente, en la clase, no voy a crear un DataAdapter por cada Tabla del DataSet, ya que sino, para eso lo hago sin Capas.

Pense en hacer lo siguiente, por ejemplo, para añadir un registro, pues primero pasaría los datos del campo a añadir, haría un DataRow añadiria los datos al DataSet y despues, mediante un procedimiento almacenado insertaría los datos. Pero claro, de aqui me surgen varias dudas:

Ya no estoy aprovechando la función que tiene el DataSet, de nada más que modifique sus datos, automaticamente actualize el la Base de Datos ( DataAdapter.Update(DS) ). Entonces estaría haciendo de forma no optima ¿Verdad?

Si lo ven correcto esta forma de realizar la operación, ¿Como podría pasarle los camops a insertar?, por que claro, dependiendo de que Tabla vaya a modificar, serán X campos.









2-. Bueno, eso era una pregunta, jejejeje, pero todavía tengo otra. Yo tengo pensado trabajar casi siempre con DataSets, creo qeu está muy bien, eso de no tener que estar siempre conectado. Sin embargo, Si utilizo DataSets en mis aplicaciones rara vez podré usar ProcedimientosAlamcenados, ¿Verdad?

Esto lo digo, por que, claro, si yo ejecuto un procedimiento almacenado, por ejemplo, de insertar, mi SqlServer me lo insertar en la BD, vale muy bien, pero despues de haber ejecutado el Command, tendré que ejecutar otro procedimiento para actualizar mi DataSet.

Entonces, ya estoy haciendo dos pasos, insertar y actualizar el DataSet, para eso, inserto directamente con el DataSet y me ahorro un paso. ¿No?



En fin, estas son un par de dudillas, tengo más, que procuraré solucionarlas por mi cuenta, no las pongo pa no agobiar y asi haber si tengo suerte y pueden contestarme a estas dos dudas, por que acabo de darme cuenta de que me falta mucho por aprender, y la verdad, jode mucho.


De todas formas, muchas gracias.
__________________
Charlie.