crear cadena de coneccion Access en windows form

20/02/2004 - 17:58 por alf | Informe spam
Hola:
quiero crear dinamicamente la cadena de coneccion a una BD Access, ,la
cadena debe quedar de esta forma:
m_dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet
OLEDB:Database Password=; Data Source=\\SERVIDOR\BDDIR\BDFILE.MDB";

si pongo esa cadena directamente no hay problemas, el problema viene porque
el camino de la BD la saco del Regustry de Windows entonces concateno de la
sgte forma:

m_dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet
OLEDB:Database Password=; Data Source=" + keyValue;

y de esa forma no me funciona, a pesar de que la cadena es la misma.

que sucede aqui ???

PD: es un windows form, y programo en C#.

saludos, alf.

Preguntas similare

Leer las respuestas

#1 Camilo Villa
20/02/2004 - 18:46 | Informe spam
keyValue es de tipo RegistryKey?
o
Es el resultado de consultar Registry.GetValue("clave") y hacerle casting a
String,

Si es el primer caso creo que tienes que hacerle casting para que te sirva
como string y quede así :
conectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database
Password=; Data Source=" +(String) keyValue;

Si es el segundo caso, tienes que ver como está definida la variable
"keyValue"

Camilo Villa
APTECH Certified Visual Studio .NET - Microsoft 3 DCE
"alf" escribió en el mensaje
news:
Mostrar la cita
porque
Mostrar la cita
la
Mostrar la cita
#2 alf
20/02/2004 - 19:23 | Informe spam
keyValue ya esta en string, me parece que el problema viene con los \\,
en la cadena \\SERVIDOR\BDDIR\BDFILE.MDB seguro esta tomando el \ como
secuencia de escape pero ya probe de esta forma
\\\\SERVIDOR\\BDDIR\\BDFILE.MDB y tampoco

???

saludos, alf

"Camilo Villa" wrote in message
news:%
Mostrar la cita
a
Mostrar la cita
#3 Camilo Villa
20/02/2004 - 19:35 | Informe spam
Prueba con:

conectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database
Password=; Data Source=" +@+ keyValue+" " ";

o sino con esta otra

conectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database
Password=; Data Source=" + keyValue+" " ";


Camilo Villa
APTECH Certified Visual Studio .NET - Microsoft 3 DCE
"alf" escribió en el mensaje
news:%
Mostrar la cita
casting
Mostrar la cita
sirva
Mostrar la cita
de
Mostrar la cita
#4 Octavio Hernandez
23/02/2004 - 14:19 | Informe spam
Alf,

Si la concatenación la haces por código, y las barras \\ ya están incluidas
en el valor de keyValue, no debería haber problema ninguno ni necesidad de
@, \\\\, etc.

Imprime el valor de connectionString para ver qué es lo que se está
obteniendo. Me parece más probable que el fallo esté en la conversión a
String de lo que sacas del registro.

Salu2,

Octavio Hernández

"alf" escribió en el mensaje
news:%
Mostrar la cita
casting
Mostrar la cita
sirva
Mostrar la cita
de
Mostrar la cita
#5 alf
24/02/2004 - 03:29 | Informe spam
Muchas gracias, efectivamente la cosa esta en las dos barras, la cosa se
soluciona usando solo 1 en el registry y poniendo @ delante de la variable,
asi no toma las barras como secuencia de escape.
saludos, alf.

"Octavio Hernandez" wrote in message
news:eHGWc%23g%
Mostrar la cita
incluidas
Mostrar la cita
OLEDB:Database
Mostrar la cita
,la
Mostrar la cita
concateno
Mostrar la cita
Ads by Google
Search Busqueda sugerida