ADO.net

18/12/2004 - 04:18 por Aguscan | Informe spam
Buenas. Mi problema es a la hora de conectar con una base de datos en acces
con ADO.net. Querría saber como crear la conexion para poder usarla en todo
el programa.En VB 6.0 hacía referencia al formulario inicial donde creaba la
conexion y punto pero en .NET no me aclaro. Gracias

Preguntas similare

Leer las respuestas

#1 Aguscan
19/12/2004 - 00:52 | Informe spam
Muchas gracias. Saludos


"SqlRanger" escribió en el mensaje
news:
Si lo que quieres es tener una variable global accesible desde todo el
programa que mantenga un conexión a una base de datos, podrías usar un
módulo y definirla ahí.

Por ejemplo en cualquier archivo de código fuente, pero fuera de cualquier
clase, podrías tener:

Module Globales
Private mConexión As OleDbConnection
Public ReadOnly Property Conexión As OleDbConnection
Get
If mConexión Is Nothing then
mConexión = New OleDbConnection("La cadena de conexión")
End If
if mConexión.State = ConnectionState.Closed Then
mConexión.Open
return mConexión
End Get
End Property
End Module


Desde cualquier punto del programa podrías acceder a la conexión y siempre
te daría la conexión abierta. Por ejemplo al crear un comando:

Dim cmd As New OleDbCommand("select ", Globales.Conexión )

o incluso:

Dim cmd As New OleDbCommand("select ...", Conexión)

Sin embargo no es así como normalmente se trabaja en ADO.NET, es decir, no
se tiene un único objeto conexión compartido por toda la aplicación. Lo
que
se suele hacer es crear un objeto conexión allí donde se necesite y, eso
sí,
usar siempre la misma cadena de conexión, además las conexiones deberían
permanecer abiertas el mínimo tiempo posible. Tendríamos en un módulo, o
mejor en una clase (los módulos están más bien por compatibilidad VB 6.0),
la cadena de conexión y la usaríamos siempre para todas las conexiones que
abriéramos:

Public Class Globales
Private Shared mCadenaConexión As String
Public Shared ReadOnly Property CadenaConexión As String
Get
If mCadenaConexión = "" Then
mCadenaConexión = leer la cadena de conexión del archivo
de
configuración, del registro de windows o de donde sea.
End If
Return mCadenaConexión
End Get
End Property

' Otras variables globales
End Class

Las cadenas de conexión no deberían ser algo fijo incrustado en el código,
sino que deberían ser algo facilmente configurable, así que deberíamos
guardarlas en algún sitio donde se pudiera modificar fácilmente como en el
archivo de configuración de la aplicación, en el registro de windows o
donde
sea.

Desde cualquier punto del programa podemos acceder a la cadena de conexión
cuando creemos conexiones. Por ejemplo

Dim cn As New OleDbConnection(Globales.CadenaConexión)

O si estamos usando el diseñador para añadir conexiones o DataAdpters,
modificaríamos la cadena de conexión antes de usar la conexión, podría ser
por ejemplo en los constructores de las clases, eventos Load y cosas así:

Me.OleDbConnection1.ConnectionString = Globales.CadenaConexión

Por último te recomendaría que no usaras bases de datos de Access, en su
lugar es preferible usar MSDE 2K, que es gratis y mucho mejor. Te lo
puedes
descargar de:

http://www.microsoft.com/downloads/...layLang=es




Saludos:

Jesús López
MVP


"Aguscan" escribió en el mensaje
news:
Buenas. Mi problema es a la hora de conectar con una base de datos en


acces
con ADO.net. Querría saber como crear la conexion para poder usarla en


todo
el programa.En VB 6.0 hacía referencia al formulario inicial donde creaba


la
conexion y punto pero en .NET no me aclaro. Gracias








email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida