FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Conexión o ruta relativa
Hola a todos!
Tengo la siguiente inquietud: para conectar una base con el control ADO, genero la cadena de conexión. Lo que deseo es no tener que establecerla en tiempo de diseño, sino que se establezca automáticamente en el mismo directorio donde corre mi aplicación, de esta forma sino encuentra la base pueda a través de código tratar la excepción. Gracias, Saludos. Última edición por yosmor fecha: 29-07-2005 a las 08:07:05. Razón: mejorando ortografía |
#2
|
||||
|
||||
Saludos
Bienvendido al ClubDelphi. Por favor lee la Guia de Estilo. Con respecto a tu duda, Que motor de base de ddatos usa?
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#3
|
||||
|
||||
Muchas gracias por la bienvenida y orientarme.
Microsoft Jet para Access Saludos. Última edición por yosmor fecha: 29-07-2005 a las 05:43:12. |
#4
|
||||
|
||||
Saludos
1ro Debes tener una variable que contenga el directory de la aplicacion, ParamStr(0) devolvera la ruta mas el nombre del archivo (ej:c:\ruta\aplicacion.exe). Debes estraer solo el directorio con ExtractFilePath() y asignarlo a una variable. En la prodiedad ConnectionString asignaras el proveedor que usaras y el directorio. Como ver 1ro El proveedor, despues el directorio y archivo de la base de datos Suerte
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#5
|
||||
|
||||
Muchas gracias, me ayudaste bastante. Pero ahora tengo el siguiente problema
Código:
var ruta:String; begin ruta:=ExtractFilePath(ParamStr(0))+ 'base.mdb'; ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ ruta; ADOTable1.Active:=True; end; Disculpa si son muy evidentes mis errores pero es que estoy migrando a Delphi. Gracias!, Saludos. Última edición por yosmor fecha: 29-07-2005 a las 08:05:00. |
#6
|
||||
|
||||
ponte en la linea de código active := true, en el editor de código de delphi, pulsa la tecla F5 (Insertar un punto de ruptura, breakpoint), dale a F9 y ejecuta tu programa, se parará el programa en esa linea de código, ahora deja el ratón sobre ConnectionString (encima de esa palabra), te aparece una ventanita que evalua la expresion y te dice el valor que tiene.
Supongo que falta una barra invertida antes de base.mdb Para seguir ejecutando el programa linea a linea, usa F7 y F8. Para continuar con la ejecución normal, vuelve a pulsar F9. El depurador es una maravilla ehhh . Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#7
|
||||
|
||||
Hola,
Cita:
|
#8
|
||||
|
||||
Saludos
yosmor, en la linea donde esta ParamStr(0) te da la ruta entera del ejecutable mas el nombre de la aplicacion, por tanto debes extraer solo la ruta, ej ExtractFilePath(ParamStr(0))
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#9
|
||||
|
||||
Hola!
Gracias a todos! Cita:
Código:
ruta:=ExtractFilePath(ParamStr(0))+ 'base.mdb'; //Ejemplo: ShowMessage (ruta); // Lo que me devuelve: 'C:\base.mdb' Código:
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ ruta; Saludos y nuevamente muchas gracias a todos. Última edición por yosmor fecha: 29-07-2005 a las 14:38:19. |
#10
|
||||
|
||||
Saludos
No estoy seguro, pero puede ser la version de Microsoft.Jet.OLEDB.4.0
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#11
|
||||
|
||||
Ayuda, por favor
Código:
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + '''' + 'C:\base.mdb' + ''; Me sigue dando el mismo error de conexión y no encuentro la manera, pero seguiré probando. Saludos. Última edición por yosmor fecha: 29-07-2005 a las 15:39:34. |
#12
|
||||
|
||||
Cita:
|
#13
|
||||
|
||||
Ya he resuelto.
Mi problema era que por accidente se me había quedado un control sin enlazar (ADOTable). vtdeleon - Me ayudaste muchísimo. Mil disculpas por la confución. Gracias a todos!, Saludos. Última edición por yosmor fecha: 29-07-2005 a las 22:55:45. |
|
|
|