Visual Basic - ADO.NET DESCONECTAD NO LO ENTIENDO

Life is soft - evento anual de software empresarial
   
Vista:

ADO.NET DESCONECTAD NO LO ENTIENDO

Publicado por ANTONIO (11 intervenciones) el 07/02/2010 11:58:18
Hola amigos sigo sin entender como funciona esto a ver me decis que ado.net desconectado es mejor que ado.net conectado bien siguiente ejemplo:
Dim scnn1 As String = "Provider=Microsoft.jet.oledb.4.0;data source=" & Server.MapPath("../CGI-BIN/inscripciones.mdb")
Dim SSEL1 As String = "Select * from inscritos"
da1 = New System.Data.OleDb.OleDbDataAdapter(SSEL1, scnn1)
Dim cb1 As New System.Data.OleDb.OleDbCommandBuilder(da1)
da1.MissingSchemaAction = Data.MissingSchemaAction.AddWithKey
dt1 = New Data.DataTable
da1.Fill(dt1)

Bien ejemplo uno con el codigo de arriba se supone que llenas en un dataset o datatable con los datos recuperados de la consulta con el cual te vas mover sobre ellos de forma desconectada.
Bien eso lo he probado y funciona bien.

Pero aqui viene la duda.
Suponed que tu no quiere traer ni recuperar un conjunto de datos sino lo unico que quieres es abrir un formulario donde hay tres campos de texto llamados nombre, provincia, email y lo unico que quiero es que cuando pulse un boton esos tres datos se inserten nuevos en la base de datos, nada mas, no quiero recuperar todos los datos de la base de datos, lo unico que quiero es añadir este nuevo registro y ya esta.
¿como se hace de forma desconectada y porque tengo que hacer esa operación de forma desconectada?
Insisto entiendo que de forma desconectada te puedas mover por los registros que has recuperado, modificarlos, etc...... pero si lo unico que quieres hacer es abrir la conexion, insertar los nuevos datos y cerrar la conexion ¿no tiene mas sentido hacerlo de forma conectada ya que esa operación llevará poco tiempo.
Además entiendo que aunque tu trabajes de forma desconectada, siempre tiene que haber un momento en que tengas que conectarte a la base de datos para actualizar realmente los datos.
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

RE:ADO.NET DESCONECTAD NO LO ENTIENDO

Publicado por csdk (127 intervenciones) el 26/08/2010 06:53:41
lmmm ok primero la coneccion a la base de datos se da en cualquier momento pero al mismo tiempo se tien k cerrar por eso es mejor crear una funcion k abra y otra k cierre esta coneccion despues de cualquier modificacion a la base de datos.

esto va en un modulo
Public ADOCONN As New Npgsql.NpgsqlConnection
Public SECURITYV_BSQ As New Npgsql.NpgsqlCommand
Public Rst_id As New Npgsql.NpgsqlCommand
Public cvl_buscar As String 'VARIABLE PARA LAS BUSQUEDAS
la funcion

Public Sub Conex()
'Conexion al PostGresSQL via dsn de sistema
On Error GoTo SalirP

ADOCONN.ConnectionString = "Server = 192.168.1.104 ;User Id = postgres;Password = tupas;Database = tudb;"
ADOCONN.Open()

Exit Sub
SalirP:
MsgBox("No hay conexión con el servidor SQL" & vbCrLf & "-->La aplicación se cerrara" & vbCrLf & "-->Intentelo de nuevo o comuniquese con el administrador", vbOKOnly + vbCritical, SystemName & "." & SystemVersion)
End
End Sub
Public Sub desconectar()
ADOCONN.Close()
End Sub

ejemplo de uso

Dim x As String
x = "INSERT INTO CATEGORIAS VALUES(" & Cat.Txt_id.Text & ",'" & Cat.Txt_nom.Text & "','" & Cat.Txt_des.Text & "')"
Dim ic1 As New Npgsql.NpgsqlCommand

Try

ic1.CommandText = x
ic1.Connection = ADOCONN
Conex()
ic1.ExecuteNonQuery()
MsgBox("Datos almacenados", MsgBoxStyle.Information)

desconectar()
Catch es As Exception
MsgBox(es.ToString)
End Try
desconectar()
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