Logica al conectar y guardar que no entiendo.

26/05/2005 - 12:14 por chele | Informe spam
Buenas, estoy aprendiendo asp.net y no entiendo la logica de guardar datos,
os cuento que tengo y como me han dicho que es a ver si veis algo erroneo.

Yo creo una clase con estos datos :

#Region " Atributo "

Private sConexion As String = "Provider=SQLOLEDB.1;Persist Security
Info=False;User ID=sa;Initial Catalog=prueba;Data Source=CHELE;Use Procedure
for Prepare=1;Auto Translate=True;Packet Size@96;Workstation ID=CHELE;Use
Encryption for Data=False;Tag with column collation when possible=False"
Private aAdaptador As OleDbDataAdapter

#End Region

Public Function fn_consultar(ByRef dDataset As DataSet, ByVal sql As String)

'crear conexión
Dim conn As New OleDbConnection(sConexion)

'crear adaptador
aAdaptador = New OleDbDataAdapter(sql, conn)

'rellenar el adaptador con el dataset
aAdaptador.Fill(dDataset, "tabla1")

End Function

Public Sub fn_actualizar(ByRef dDataset As DataSet)

'generar constructor del adaptador para actualizar los datos
Dim cmdbuild As OleDbCommandBuilder = New OleDbCommandBuilder(aAdaptador)

'actualizar datos
aAdaptador.Update(dDataset, "tabla1")

End Sub





Ahora en la pagina tengo esto :

Declarado arriba del todo :

Dim dataset_prueba As New DataSet()
Dim conexion As New class_Conexion()
Dim fila As DataRow

Y en un boton tengo esto :

Dim sql As String

sql = "select * from personajes"
conexion.fn_consultar(dataset_prueba, sql)
fila = dataset_prueba.Tables("tabla1").Rows(0)
TextBox1.Text = fila("nombre")

Esto me muestra el valor, todo correcto. Ahora quiero guardar un dato y me
dicen que lo que tengo que hacer es guardarme el identificador de la fila y
hacer un update, es decir volver a conectarme y todo el rollo ¿no es un
poco lio? me refiero a que estoy todo el rato conectando y desconectando (
esto lo hace solo segun pude ver ) me parece que esto pierde velocidad para
el usuario ya que hace muchas conexiones ... no se es mi opinion.

¿Seria asi? ¿Estoy liado? ¿Estoy equivocado en algo?.

Venga un saludo. Ta luego.
 

Leer las respuestas

#1 Elmer Carías
26/05/2005 - 17:17 | Informe spam
Buen dia,

Si tienes razon se esta conectando y desconectando cada vez, esto
realmente es lo que debemos hacer en aplicaciones distribuidas, ya que de lo
que se trata es mantener el menor numero de conexiones activas, tambien
podemos configurar un Pool de Conexiones que posiblemente como ejemplo
puedan ser 25 licencias de acceso para 250 usuarios.

Eso significa que cada vez que necesite algo me tengo que conectar y
desconectar. En este tiempo donde la tecnología ha permitido tener
procesadores mas rápidos, velocidad en transmisión de datos, es
insignificante el tiempo que se tarda esas tareas.

Ahora bien es este tema te recomiendo que para que utilizes las librerias
que Microsoft nos proporciona en su sitio, que son librerias que cumplen con
estandares y mejores practicas en muchas funcionalidades como: Acceso a
Datos, Manejo de Excepciones, Manejo del Cache, Seguridad, y algunos otros
bloques de Aplicación que se encuentran en estas herramientas.


Este es el link en Ingles para que accedas a esta libreria.
http://msdn.microsoft.com/library/d...entlib.asp


Es importante tambien hacerte ver que en tu codigo que mostraste estas
declarando una variable para el ConnectionString, pero ahi mismo le estas
definiendo el mismo, ahora lo mas recomendable en ese caso es que coloques
esa cadena de conexion en el archivo de configuracion de tu aplicacion o
libreria(web.config para Web y el App.config para Aplicaciones Windows o
Librerias )

Espero que esta informacion te sirva de algo.

Atte. Elmer Carías
El Salvador, CentroAmerica
DCE 3
MSN:


"chele" wrote in message
news:
Buenas, estoy aprendiendo asp.net y no entiendo la logica de guardar
datos,
os cuento que tengo y como me han dicho que es a ver si veis algo erroneo.

Yo creo una clase con estos datos :

#Region " Atributo "

Private sConexion As String = "Provider=SQLOLEDB.1;Persist Security
Info=False;User ID=sa;Initial Catalog=prueba;Data Source=CHELE;Use
Procedure
for Prepare=1;Auto Translate=True;Packet ;Workstation
ID=CHELE;Use
Encryption for Data=False;Tag with column collation when possible=False"
Private aAdaptador As OleDbDataAdapter

#End Region

Public Function fn_consultar(ByRef dDataset As DataSet, ByVal sql As
String)

'crear conexión
Dim conn As New OleDbConnection(sConexion)

'crear adaptador
aAdaptador = New OleDbDataAdapter(sql, conn)

'rellenar el adaptador con el dataset
aAdaptador.Fill(dDataset, "tabla1")

End Function

Public Sub fn_actualizar(ByRef dDataset As DataSet)

'generar constructor del adaptador para actualizar los datos
Dim cmdbuild As OleDbCommandBuilder = New OleDbCommandBuilder(aAdaptador)

'actualizar datos
aAdaptador.Update(dDataset, "tabla1")

End Sub





Ahora en la pagina tengo esto :

Declarado arriba del todo :

Dim dataset_prueba As New DataSet()
Dim conexion As New class_Conexion()
Dim fila As DataRow

Y en un boton tengo esto :

Dim sql As String

sql = "select * from personajes"
conexion.fn_consultar(dataset_prueba, sql)
fila = dataset_prueba.Tables("tabla1").Rows(0)
TextBox1.Text = fila("nombre")

Esto me muestra el valor, todo correcto. Ahora quiero guardar un dato y me
dicen que lo que tengo que hacer es guardarme el identificador de la fila
y
hacer un update, es decir volver a conectarme y todo el rollo ¿no es
un
poco lio? me refiero a que estoy todo el rato conectando y desconectando (
esto lo hace solo segun pude ver ) me parece que esto pierde velocidad
para
el usuario ya que hace muchas conexiones ... no se es mi opinion.

¿Seria asi? ¿Estoy liado? ¿Estoy equivocado en algo?.

Venga un saludo. Ta luego.









Preguntas similares