FoxPro/Visual FoxPro - Donde colocar el String de Conexion a Mysql

 
Vista:
sin imagen de perfil

Donde colocar el String de Conexion a Mysql

Publicado por victor perez (137 intervenciones) el 28/02/2013 22:38:44
hola,

Continuando en mi tarea de migracion hacia mysql, me surge la siguiente inquietud

Yo llamo la conexion al Mysql por medio de un metodo "conecta".

El asunto que tengo que crear en todos los formularios que haga el metodo conecta.

He intentado ponerlo en el PRG del sistema y que de alli se haga la conexion y se guarde en una variable publica que pueda ser usada a lo largo de los formularios, pero no me resulta...

En el PRG del sistema pongo lo siguiente

PUBLIC lnHandle


lcStringCnxLocal = "DRIVER={MySQL ODBC 5.1 Driver};" + ;
"SERVER=&_servidor;" + ;
"UID=&_user_servidor;" + ;
"PWD=657710;" + ;
"DATABASE=clinica;" + ;
"OPTIONS=1;"


SQLSETPROP(0,"DispLogin" , 3 )
lnHandle = SQLSTRINGCONNECT(lcStringCnxLocal)

Para hacer utilizar la conexion pongo: Sqlexec(lnhandle,"SElect....","cursor")

Pero me dice que no encuentra el "lnhandle"

Si pongo, sqlexec(&lnhandle,"selec..."," cursor")

Me dice que hay un "Missing Function"...

Donde tengo el error, o tendre que usar siempre la conexion dentro de un metodo en cada formulario.

Victor
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

Donde colocar el String de Conexion a Mysql

Publicado por Saul (728 intervenciones) el 01/03/2013 04:01:36
Hola..
Creo que el primer paso es verificar tu conexión ,..

Haz lo siguiete en un prg cualquier nombre pon este codigo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
SERVERMYSQL	= "127.0.01"
	USUARIO 	        = "root"
	CLAVE   	                = "sa"
	BD 			        = "TuBase"
 
	lcStringCnxLocal = "DRIVER={MySQL ODBC 3.51 Driver};" + ;
	                   "SERVER="+SERVERMYSQL+";" + ;
	                   "UID="+USUARIO+";" + ;
	                   "PWD="+CLAVE+";" + ;
	                   "DATABASE="+BD+";" + ;
	                   "OPTIONS='';"
 
 
	SQLSETPROP(0,"DispLogin" , 3 )
 
	CnxSde = SQLSTRINGCONNECT(lcStringCnxLocal)
 
IF CnxSde < 0
	 AERROR(laErr)
 	 MESSAGEBOX("No se pudo conectar a mySQL. Error: " + CHR(13) + laErr[2])
 
 	 CLEAR ALL
 	 CLOSE ALL
 	 CANCEL
 	 QUIT
ENDIF
 
xcodigoempresa ='01'
lcSQLcommand  = ""
 
	TEXT TO lcSQLcommand NOSHOW
	     SELECT * FROM tubla WHERE empresa = ?xCodigoEmpresa;
        ENDTEXT
 
			**Se Ejecuta el codigo MySQL Para Grabar
				IF !EMPTY(lcSQLcommand)
				    cmd = SQLEXEC(CnxSde,lcSQLcommand,"TuCursor")
						IF AERROR(laError)> 0
							Messagebox("No guardo ningún dato se ha producido un Error: "+laError[2])
						ENDIF
				ENDIF
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
sin imagen de perfil

Donde colocar el String de Conexion a Mysql

Publicado por VICTOR PEREZ (137 intervenciones) el 01/03/2013 14:41:16
Hola Saul,

Bueno la conexion siempre se hace, de todas formas al implementar 100% mi sistema tendre que agregar ese PRG para saber que estamos conectados al servidor.

Mi pregunta es mas bien, como evito tener que poner el codigo de conexion en un metodo que debo añadir a cada uno de los formularios que hago...mis formularios son independientes cada uno...no estan dentro de un conjunto de formularios.

Saludos y gracias.


Victor - Panama-
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

Donde colocar el String de Conexion a Mysql

Publicado por Saul (728 intervenciones) el 01/03/2013 17:02:39
Hola Vicotr:

No deberías ponerlo en cada formulario

Ese ejemplo que te muestro, me sirve para hace pruebas nada mas, pero mi conexion la tengo
en un PRG, que yo le llamo principal.

Este PRG principal me imagino que tu tienes uno tambien, pon una variable PUBLICA, y hace las pruebas con un formulario a que se conecte.

Es decir de tu PRG, llama un formulario que se llame xxxx, y hace tus pruebas, me imagino que si te da problemas con la variable pues ya no es problema de MYSQL es mas bien tu variable, que pueda que existe otra con el mismo nombre, ponle un nombre que tu puedas identificar y que no lo tenga sen ningún lugar, otra podría ser que no estés escribiendo bien la variable.

Pon un SUSPEND ya cuando vallas a llamar tu formulario y ve como se mueve tu variable.
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
sin imagen de perfil

Donde colocar el String de Conexion a Mysql

Publicado por VICTOR PEREZ (137 intervenciones) el 01/03/2013 18:44:33
Hola,

Ya encontre donde estaba el error...es que Yo, hacia un PRG que hacia la conexion....
Y luego desde la ventana de comandos corria el formulario que hacia referencia a la variable de conexion y por eso, no la encontraba pues era un form que no estaba contenido ni era llamado por El prg QUE ponia como publica la variable de conexion.

No se que me paso, pues se que para que trabaje es en los formularios hijos del principal.

El unico inconveniente es a la hora de hacer las pruebas del formulario, que debo llamarlo desde el PRG que hace la conexion...

Bueno, seguire programando.

Saludos y gracias
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