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

SqlCommand vs SqlAdapter

Estas en el tema de SqlCommand vs SqlAdapter en el foro de .NET en Foros del Web. Saludos! Después de años trabajando con ASP Clásico, apenas hace 1 semana me animé por conocer lo que .NET nos ofrece . . . y ...
  #1 (permalink)  
Antiguo 09/10/2009, 12:48
 
Fecha de Ingreso: agosto-2008
Mensajes: 82
Antigüedad: 15 años, 8 meses
Puntos: 4
Información SqlCommand vs SqlAdapter

Saludos!

Después de años trabajando con ASP Clásico, apenas hace 1 semana me animé por conocer lo que .NET nos ofrece . . . y me ha gustado mucho hasta cierto punto . . .

. . .Me acostumbré mucho a trabajar mis RecordSet con GetRows . . .

Hoy me puse a "Poblar" mi asp:Table con un RS . . . pero he encontrado diferentes maneras de hacerlo . . . (siempre busco la más eficaz) . . .

La forma mas parecida a lo que yo hacía para crear mi conexión y RS es la siguiente:

Código VB:
Ver original
  1. Dim sConn As String = "DATA SOURCE...DATABASE...USER...etc..."
  2.     Dim xConn As MySqlConnection = New MySqlConnection(sConn)
  3.     Dim xEXE As MySqlCommand
  4.     Dim MySQL As String
  5.     Dim xRS As MySqlDataReader
  6.     xConn.Open()
  7.         MySQL = "CALL StoreProcedure1()"
  8.         xEXE = New MySqlCommand(MySQL, xConn)
  9.         xRS = xEXE.ExecuteReader()
  10.  
  11.    . . . en base a mi xRS pinto mis datos . . .
  12.    . . . y después cierro mi conexión . . . .
  13.  
  14.    Claro . . . sin faltar su Try/Catch . . . .

Pero Me topé con algo mas sencillo . . .

Código VB:
Ver original
  1. Dim sConn As New MySqlConnection("DATA SOURCE...USER...etc...")
  2.         Dim MyQuery As New MySqlDataAdapter("CALL StoreProcedure1()", sConn)
  3.         Dim MyDS As New DataSet
  4.         Dim DC As DataColumn
  5.         Dim DR As DataRow
  6.         MyQuery.Fill(MyDS, "MiTabla")
  7.  
  8.    . . . y comenzamos a pintar la tabla en relación al DataSet . . .

Me gustó lo rápido que es hacerlo . . . pero no sé realmente que es lo que hace . . . ya que no veo donde Abre mi conexión y donde la cierra . . .

Habría alguien aquí que me orientara un poco mas sobre como funciona .NET con nuestros RecorSet ? ? ?

Recomiendan los Grids ? ? ?

Cualquier Tutorial Sobre ésto será de gran ayuda . . .

Muchas Gracias . . . y Nos seguimos leyendo . . .
Bye bye . . .
  #2 (permalink)  
Antiguo 09/10/2009, 13:31
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: SqlCommand vs SqlAdapter

A ver vamos por conceptos no quieras correr antes de caminar, uno te recomiendo que consigas bibliografia sobre ADO.NET , hay muchos cambios en la forma de trabajo de ADO que ya es obsoleto.

Aprende sobre Modos Conectado y Desconectado y ya que domines las bases de ado.net ahora si lo unes con lo que quieras sea web, win o mobile forms.

Yo se que es dificil hacer el cambio pero mejor hacerlo bien y sin problemas de conceptos que tirarse a escribir codigo.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 11/10/2009, 09:36
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Respuesta: SqlCommand vs SqlAdapter

NA1TM3R,

Utilizando tu primera forma cargas menos la memoria de tu PC, pero tiene la desventaja de que la conexión se queda abierta hasta que tú la cierres. Esa primera forma va leyendo los registros de la base de datos directamente.

La segunda forma, y la que más me gusta, es llenar un dataset. Al hacer Fill, .NET se encarga de abrir y cerrar la conexión automáticamente. Lo que hace la 2da. forma es cargar en memoria los registros que hayas realizado en tu Select. Es como cargar en un arreglo todos los registros

__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
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 19:58.