ASP.NET - Duda con DataTable, DataAdapter, ExecuteNonQuery

 
Vista:
sin imagen de perfil

Duda con DataTable, DataAdapter, ExecuteNonQuery

Publicado por Oscar (4 intervenciones) el 24/01/2015 17:36:52
Hola, saludos a todos, y primeramente gracias por leer esto.

Tengo duda con DataTable y DataAdapter, por decir, en estas lineas:

SqlDataAdapter da = new SqlDataAdapter();
DataTable dt = new DataTable();

He leído en internet sobre esto, pero quisiera una explicación a como ustedes lo entiendan porque no logro comprenderlo.
Y para después, estas líneas:

conn.Open();
command.ExecuteNonQuery();
da.SelectCommand = command;
da.Fill(dt);
conn.Close();

Siempre pongo estas líneas en mi código, pero lo hago porque tengo ejemplos de otros proyectos, pero no sé en verdad cómo funcione, o no sabría cómo explicar mis líneas de código si me preguntaran para qué o cómo funcionan estas líneas antes mencionadas.

Es por eso que he decidido recurrir nuevamente a ustedes, y me gustaría más una explicación con "peras y manzanas" para poder entender mejor su funcionamiento o cuándo usarlos.

Agradezco sus respuestas
Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Duda con DataTable, DataAdapter, ExecuteNonQuery

Publicado por roger (45 intervenciones) el 25/01/2015 14:05:33
Pues el dataAdapter digamos que coordina la comunicación entre el origen de datos y el datatable que estás llenando (que llega a ser una copia desconectada del origen de datos), permitiendo realizar operaciones con ese origen de datos como actualizacion, eliminacion, consulta, inserción. Para ello el dataadapter requiere una conexion a la base de datos y un comando a ejecutar. Creo que el codigo tiene un error (o es basicamente algunos puntos redundantes) pues estoy casi seguro que la conexion no se tiene que abrir explicitamente con conn.Open(); ni el comando se tiene que ejecutar explicitamente con command.ExecuteNonQuery();, todo esto lo hace el dataAdapter una vez llamas al metodo Fill, el cual abriría la conexion ejecutaría el comando que fue asociado con da.SelectCommand = command; para llenar el datatable con esa informacion, y finalmente cerraría la conexión (conn.Close(); tambien sobraría)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar