Utilizamos cookies propias y de terceros. Al navegar entendemos que aceptas el uso de cookies. +Info.
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Usuario
· Wiki

Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Función o procedimiento para obtener todas las tablas MySQL
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Función o procedimiento para obtener todas las tablas MySQL

Publicar nuevo tema Responder al tema
Foros de discusión » Borland Delphi, Codegear Delphi .Net   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Función o procedimiento para obtener todas las tablas MySQL Responder citando

Estoy realizando una aplicación con CodeGear Delphi, es una aplicación de facturación y contablidad, como base de datos utilizo MySQL Server 4.1. ¿Cómo puedo hacer un procedure o function que me devuelva todas las tablas de un catálogo? lo quiero para poder realizar determinadas tareas sobre todas las tablas de MySQL.
MensajePublicado:
Dom Feb 01, 2009 7:15 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Función o procedimiento para obtener todas las tablas My Responder citando



Anuncios



varios escribió:
Estoy realizando una aplicación con CodeGear Delphi, es una aplicación de facturación y contablidad, como base de datos utilizo MySQL Server 4.1. ¿Cómo puedo hacer un procedure o function que me devuelva todas las tablas de un catálogo? lo quiero para poder realizar determinadas tareas sobre todas las tablas de MySQL.


Puedes utilizar esta función:

Código:

function obtenerMySQLTablas () : TStringList;
var
  lista : TStringList;
begin
  lista := TStringList.Create;
  md.tc.Close;
  md.tc.SQL.Clear;
  md.tc.SQL.Add('SHOW TABLES');
  try
  md.tc.Open;
    while not md.tc.Eof do
    begin
      lista.Add (md.tc.Fields[0].AsString);
      md.tc.Next;
    end;
    Result := lista;
  except
    Result := lista;
  end;
  md.tc.Close; 
end;


Devolverá un TStringList con todas las tablas del catálogo de MySQL.

Un ejemplo de uso de esta función:

Código:

    txtTabla.Items.Clear;
    txtTabla.Items.AddStrings(obtenerMySQLTablas);


Ten en cuenta lo siguiente:

* "md" es un DataModule (Módulo de datos) donde están alojados los componentes de acceso a datos (TQuery, TTable, etc.).
* "tc" es un componente de tipo "TZQuery" que ha de estar enlazado con un "TZConnection" por la propiedad "Connection" del TZQuery.

El TZQuery y el TZConnection son componentes gratuitos de acceso a MySQL de ZeosDBO, en el siguiente artículo explicamos cómo instalarlos en Delphi:

http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=224

Para iniciar el TZConnection puedes utilizar este otro código:

Código:

  try
    Screen.Cursor := crHourGlass;
    md.conexionBD.Connected := false;
    md.conexionBD.LoginPrompt := false;
    md.conexionBD.Protocol := 'mysql-4.1';
    md.conexionBD.HostName := txtIPServidor.Text;
    md.conexionBD.Port := strtoint(txtPuerto.Text);
    md.conexionBD.Database := txtBD.Text;
    md.conexionBD.User := txtUsuarioBDIP.Text;
    md.conexionBD.Password := txtContrasenaBDIP.Text;
    md.conexionBD.Connected := true;
    Screen.Cursor := crDefault;
  except
    Screen.Cursor := crDefault; 
    raise;
  end;


Para este ejemplo hemos utilizado ZeosDBO, pero se podría utilizar el ODBC de MySQL y los componentes propios de Delphi: TQuery y TDatabase.
MensajePublicado:
Dom Feb 01, 2009 7:24 pm
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » Borland Delphi, Codegear Delphi .Net  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Este sitio web NO CONTIENE malware, todos los programas con código fuente aquí. Autor: Alonso Javier Pérez Díaz Google+ Síguenos en Google+