Detectar si existe campo en tabla MySQL

Detectar si existe campo en tabla MySQL

Postby carito » Tue Jan 05, 2021 5: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,
carito
 
Posts: 72
Joined: Sat Dec 03, 2016 2:49 pm

Re: Detectar si existe campo en tabla MySQL

Postby MGA » Tue Jan 05, 2021 6:16 pm

SHOW COLUMNS FROM clientes where field like "%codigo%";
ubiratanmga@gmail.com

FWH18.02
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1234
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Re: Detectar si existe campo en tabla MySQL

Postby carito » Tue Jan 05, 2021 7: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 ?
carito
 
Posts: 72
Joined: Sat Dec 03, 2016 2:49 pm

Re: Detectar si existe campo en tabla MySQL

Postby CARLOS ATUNCAR » Tue Jan 05, 2021 7: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
 
Posts: 125
Joined: Thu Sep 17, 2015 11:40 pm

Re: Detectar si existe campo en tabla MySQL

Postby carito » Tue Jan 05, 2021 7: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,
carito
 
Posts: 72
Joined: Sat Dec 03, 2016 2:49 pm

Re: Detectar si existe campo en tabla MySQL

Postby cmsoft » Tue Jan 05, 2021 10:46 pm

Con Dolphin podría ser asi:
Code: Select all  Expand view

if (ascan(oRs:aColumns,'direccion') > 0)
   // Existe

 
User avatar
cmsoft
 
Posts: 1204
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Detectar si existe campo en tabla MySQL

Postby carito » Tue Jan 05, 2021 10:53 pm

MGA, gracias tambien por la informacion, ahora probando, entendi lo que me decias, sorry :oops:
carito
 
Posts: 72
Joined: Sat Dec 03, 2016 2:49 pm

Re: Detectar si existe campo en tabla MySQL

Postby carito » Tue Jan 05, 2021 10:54 pm

Gracias Cesar, esa forma no la conocia, esta excelente, pues utilizo el mismo TDolphin.
carito
 
Posts: 72
Joined: Sat Dec 03, 2016 2:49 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 24 guests