Um dos recursos mais atraentes do Delphi é o poderoso recurso de acesso ao banco de dados, que pode criar e editar facilmente bancos de dados através da ferramenta de desktop do banco de dados. Por razões práticas, geralmente precisamos estabelecer dinamicamente um determinado banco de dados enquanto o programa está em execução.
Se você pedir aos usuários que criem manualmente tabelas de dados usando a ferramenta de desktop do banco de dados, o programa que você escreve será muito descontado, mas você não precisa se preocupar que a Delphi possa concluir essa função no idioma, o que nos fornece conveniência. Resumi dois métodos em meu estudo e prática, que chamo de método da tabela e do método SQL. A seguir, descreve o processo de estabelecimento dinâmico de banco de dados por meio de exemplos simples.
1. Método da tabela:
1. (Veja o exemplo de estabelecer uma tabela de dados paradoxos, assumindo que o nome da biblioteca é ljh.db). Crie um novo arquivo de projeto zhoudf.dpr.
2. Selecione o elemento do botão no painel e coloque-o na tabela Form1.
Procedimento TForm1.Button2Click (remetente: TOBJECT);
var tabela1: ttable;
com a Tabela1 começar ativo: = false;
TableName: = 'ljh.db';
TableType: = ttParadox;
add ('yj', ftdate, 0, falso);
add ('zp', ftstring, 10, false);
add ('zdm', ftinteger, 0, false);
fim;
Com indexdefs fazer {este método adiciona campo de índice ao ljh.db} comece claro;
Add ('yjindex', 'yj', [ixPrimary]);
fim;
createTable;
fim;
fim;
2. Método SQL: Selecione o elemento do botão no painel e coloque-o na tabela Form1.
Procedimento TForm1.Button2Click (remetente: TOBJECT);
var tabela2: tquey;
Com a Tabela2, comece com o SQL, comece claro;
add ('Criar tabela "ljh.db"');
add ('(yj date,'); {note o '('} nas citações
add ('zp char (10),');
add ('zdm int)');
fim;
execsql;
sql.clear;
sql.add ('Criar índice yj em "ljh.db" (yj)');
execsql;
fim;
fim;
* Basta compilar este programa. * Deve -se notar que, se a biblioteca já estiver lá, uma mensagem de erro será gerada e se a biblioteca já estiver lá, o método da tabela não precisará ser considerado.