FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Detectar si existe campo en tabla MySQL
Posts: 98
Joined: Sat Dec 03, 2016 02:49 PM
Detectar si existe campo en tabla MySQL
Posted: Tue Jan 05, 2021 05:00 PM

Hola a todos:

Necesito una ayuda, como puedo detectar si existe o no un campo en una BD mysql ?

Lo que pasa es que tengo una funcion que imprime, y debo saber con anterioridad,
si ya existe un campo, para poder imprimir sus datos, pero tengo sistemas antiguos,
donde no tengo la certeza, si existen ya esos campos y el modulo de impresion, se
cae o no imprime nada.

He utilizado esta forma, pero no se si es la correcta o existe algo mejor, ahi
requiero la ayuda.

If oRs:Fieldpos( 'direccion' ) <> 0
? 'imprimo el dato'
EndIf

Tambien probe con

If FieldPos( oRs:direccion ) <> 0

EndIf

Pero no me reconoce el campo.

Utilizo TDolphin con mysql y harbour 3.2
Saludos,

Posts: 1286
Joined: Mon Feb 25, 2008 02:54 PM
Re: Detectar si existe campo en tabla MySQL
Posted: Tue Jan 05, 2021 06:16 PM

SHOW COLUMNS FROM clientes where field like "%codigo%";

ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin
Posts: 98
Joined: Sat Dec 03, 2016 02:49 PM
Re: Detectar si existe campo en tabla MySQL
Posted: Tue Jan 05, 2021 07:00 PM

Gracias por responder, pero no me sirve tu idea, a lo mejor no me entendiste.

Requiero saber si en una tabla cualquire, realizada con mysql , existe o no un campo ?

Como averiguo esa informacion ?

Posts: 230
Joined: Thu Sep 17, 2015 11:40 PM
Re: Detectar si existe campo en tabla MySQL
Posted: Tue Jan 05, 2021 07:08 PM

cMsg :="SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE()AND COLUMN_NAME='actaconformidad_mod' AND TABLE_NAME='formularios' "
cQry := oServer:Query( cMsg )
If cQry:lastrec()=0
cMsg := "ALTER TABLE formularios "
cMsg += "ADD COLUMN actaconformidad_mod VARCHAR(80) NULL AFTER actaconformidad"
oServer:Execute( cMsg )
EndIf
cQry:end()

Lo uso asi para comprobar si no existe la columna y agregarla

Carlos Atuncar - CaSoftSystem
Chincha - Perú
+51983478218
carlosalbatun@gmail.com
Posts: 98
Joined: Sat Dec 03, 2016 02:49 PM
Re: Detectar si existe campo en tabla MySQL
Posted: Tue Jan 05, 2021 07:50 PM

Carlos, muchas gracias.

Es una muy buena idea, no se me habria ocurrido tomarlo asi, es un poco mas largo, pero creo que funcionara.

Yo pensaba que existe algun comando o funcion para detectar un campo.
Saludos,

Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Detectar si existe campo en tabla MySQL
Posted: Tue Jan 05, 2021 10:46 PM
Con Dolphin podría ser asi:
Code (fw): Select all Collapse
if (ascan(oRs:aColumns,'direccion') > 0) 
   // Existe
Posts: 98
Joined: Sat Dec 03, 2016 02:49 PM
Re: Detectar si existe campo en tabla MySQL
Posted: Tue Jan 05, 2021 10:53 PM

MGA, gracias tambien por la informacion, ahora probando, entendi lo que me decias, sorry :oops:

Posts: 98
Joined: Sat Dec 03, 2016 02:49 PM
Re: Detectar si existe campo en tabla MySQL
Posted: Tue Jan 05, 2021 10:54 PM

Gracias Cesar, esa forma no la conocia, esta excelente, pues utilizo el mismo TDolphin.

Continue the discussion