Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo Hace 2 Semanas
drewdavis drewdavis is offline
Registrado
 
Registrado: sep 2024
Posts: 5
Poder: 0
drewdavis Va por buen camino
¿Cómo utilizar el componente TFDMetaInfoQuery de FireDAC?

En tiempo de ejecución, necesito descubrir la estructura de una tabla MySQL (nombres de campos, tipos, tamaños y más). Se supone que el componente TFDMetaInfoQuery de FireDAC debe hacer eso, pero no funciona como se esperaba. Recibí este mensaje de error:

[FireDAC][Phys][MySQL]-339. Se debe especificar un valor de argumento de metadatos [nombre del tipo de tabla]. No me digas que use los campos creados automáticamente.
Responder Con Cita
  #2  
Antiguo Hace 2 Semanas
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.180
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Estaría bien ver el código que has usado.
Hecha un vistazo a nuestra guía de estilo, gracias.
Responder Con Cita
  #3  
Antiguo Hace 2 Semanas
drewdavis drewdavis is offline
Registrado
 
Registrado: sep 2024
Posts: 5
Poder: 0
drewdavis Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Estaría bien ver el código que has usado.
Sólo una sola línea:

Código:
FDMetaInfoQuery1.Open;
TFDMetaInfoQuery se conecta en tiempo de diseño a una TFDConnection. La misma conexión se utiliza para varias TFDQuery y cada archivo de solicitud funciona.
Extracto del DFM:

Código:
object FDMetaInfoQuery1: TFDMetaInfoQuery
  Connection = FDConnection1
  MataInfoKind = mkTableTypeFields
  TableKinds = [tkTable]
  SchemaName = 'MySchema'
  Left = 328
  Top = 64
end
Responder Con Cita
  #4  
Antiguo Hace 2 Semanas
drewdavis drewdavis is offline
Registrado
 
Registrado: sep 2024
Posts: 5
Poder: 0
drewdavis Va por buen camino
No te lo pierdas
Responder Con Cita
  #5  
Antiguo Hace 2 Semanas
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.180
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ejemplo:
Código Delphi [-]
procedure TForm1.GetTableStructure;
begin
  // Configura la conexión
  FDMInfoQuery.Connection := FDConnection1;
  
  // Configura las propiedades para obtener la información de los campos de una tabla
  FDMInfoQuery.MetaInfoKind := mkTableFields; 
  FDMInfoQuery.TableName := 'nombre_de_la_tabla'; // Aquí el nombre de tu tabla
  
  // Abre la consulta para obtener los datos
  FDMInfoQuery.Open;
  
  // Recorre los campos de la tabla
  while not FDMInfoQuery.Eof do
  begin
    ShowMessage('Campo: ' + FDMInfoQuery.FieldByName('COLUMN_NAME').AsString +
                ' Tipo: ' + FDMInfoQuery.FieldByName('COLUMN_DATATYPE').AsString +
                ' Tamaño: ' + FDMInfoQuery.FieldByName('COLUMN_LENGTH').AsString);
    FDMInfoQuery.Next;
  end;
  
  FDMInfoQuery.Close;
end;
Responder Con Cita
  #6  
Antiguo Hace 2 Semanas
drewdavis drewdavis is offline
Registrado
 
Registrado: sep 2024
Posts: 5
Poder: 0
drewdavis Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Ejemplo:
Código Delphi [-]
procedure TForm1.GetTableStructure;
begin
  // Configura la conexión
  FDMInfoQuery.Connection := FDConnection1;
  
  // Configura las propiedades para obtener la información de los campos de una tabla
  FDMInfoQuery.MetaInfoKind := mkTableFields; 
  FDMInfoQuery.TableName := 'nombre_de_la_tabla'; // Aquí el nombre de tu tabla
  
  // Abre la consulta para obtener los datos
  FDMInfoQuery.Open;
  
  // Recorre los campos de la tabla
  while not FDMInfoQuery.Eof do
  begin
    ShowMessage('Campo: ' + FDMInfoQuery.FieldByName('COLUMN_NAME').AsString +
                ' Tipo: ' + FDMInfoQuery.FieldByName('COLUMN_DATATYPE').AsString +
                ' Tamaño: ' + FDMInfoQuery.FieldByName('COLUMN_LENGTH').AsString);
    FDMInfoQuery.Next;
  end;
  
  FDMInfoQuery.Close;
end;
¡Gracias por dejarme revisar!
Responder Con Cita
  #7  
Antiguo Hace 2 Semanas
drewdavis drewdavis is offline
Registrado
 
Registrado: sep 2024
Posts: 5
Poder: 0
drewdavis Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Ejemplo:
Código Delphi [-]
procedure TForm1.GetTableStructure;
begin
  // Configura la conexión
  FDMInfoQuery.Connection := FDConnection1;
  
  // Configura las propiedades para obtener la información de los campos de una tabla
  FDMInfoQuery.MetaInfoKind := mkTableFields; 
  FDMInfoQuery.TableName := 'nombre_de_la_tabla'; // Aquí el nombre de tu tabla
  
  // Abre la consulta para obtener los datos
  FDMInfoQuery.Open;
  
  // Recorre los campos de la tabla
  while not FDMInfoQuery.Eof do
  begin
    ShowMessage('Campo: ' + FDMInfoQuery.FieldByName('COLUMN_NAME').AsString +
                ' Tipo: ' + FDMInfoQuery.FieldByName('COLUMN_DATATYPE').AsString +
                ' Tamaño: ' + FDMInfoQuery.FieldByName('COLUMN_LENGTH').AsString);
    FDMInfoQuery.Next;
  end;
  
  FDMInfoQuery.Close;
end;
Muchas gracias lo logré
Responder Con Cita
  #8  
Antiguo Hace 2 Semanas
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.180
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Seguridad al utilizar Firedac u establecer claves en el .exe lago Conexión con bases de datos 4 10-02-2017 18:01:23
como utilizar el componente Upload en delphi php kurono PHP 0 03-06-2012 05:43:12
Como utilizar el componente RXlib... Gbyte Gráficos 3 03-06-2008 17:18:50
como utilizar los componente CDBuner y ConModem kurono Varios 4 06-03-2008 19:12:44
Como utilizar un componente externo? Sergei OOP 2 24-01-2006 19:12:24


La franja horaria es GMT +2. Ahora son las 10:22:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi