Página 1 de 1

Saber se existe uma tabela no BD

Enviado: 02 Abr 2021 00:14
por Itamar M. Lins Jr.
Olá!

Código: Selecionar todos

  dbusearea( , , "SELECT COUNT(*) as nTot FROM information_schema.tables WHERE table_schema = 'basedados' AND table_name = 'country' ",'RS' )
   ? nToT
   rs->(dbCloseArea())
Tudo vem em ARRAY na memória e usamos os comandos para DBF.

Usando MariaDB e SQLMIX no Linux e Windows.

Saudações,
Itamar M. Lins Jr.

Sabe se existe um tabela no BD

Enviado: 02 Abr 2021 09:02
por JoséQuintas
Em ADO:

Código: Selecionar todos

oRs := Conexao:Execute( "SELECT COUNT(*) as nTot FROM information_schema.tables WHERE table_schema = 'basedados' AND table_name = 'country' " )
? oRs:Fields( "NTOT" ):Value
oRs:Close()
A diferença acaba sendo o formato do retorno, em ADO o formato é.... ADO.
Em SQLMIX é DBF, em hbMySQL é array.

No final, a escolha é sobre o que vai ficar mais fácil para o usuário e/ou o estilo de programação do usuário.
Lógico... se não for Windows não tem ADO.

Mas.... lógico também:
Mudar de DBF pra MySQL vai precisar mudanças nos fontes e na cabeça do programador.
Mudar de ADO pra SQLMIX ou hbMySQL, apesar de também ter mudança nos fontes, a cabeça do programador já vai estar "no esquema".

Saber se existe uma tabela no BD

Enviado: 03 Abr 2021 19:09
por Fernando queiroz
JoséQuintas escreveu:Em ADO:

Código: Selecionar todos

oRs := Conexao:Execute( "SELECT COUNT(*) as nTot FROM information_schema.tables WHERE table_schema = 'basedados' AND table_name = 'country' " )
? oRs:Fields( "NTOT" ):Value
oRs:Close()
A diferença acaba sendo o formato do retorno, em ADO o formato é.... ADO.
Em SQLMIX é DBF, em hbMySQL é array.

No final, a escolha é sobre o que vai ficar mais fácil para o usuário e/ou o estilo de programação do usuário.
Lógico... se não for Windows não tem ADO.

Mas.... lógico também:
Mudar de DBF pra MySQL vai precisar mudanças nos fontes e na cabeça do programador.
Mudar de ADO pra SQLMIX ou hbMySQL, apesar de também ter mudança nos fontes, a cabeça do programador já vai estar "no esquema".
Nos meus estudo verifiquei que o ODBC é o que tem para WINDOWS/LINUX com a sintaxe mais próxima do ADO,