1. O status do alias do banco de dados
O mecanismo de banco de dados interno da Delphi (Borland Database Engine), fornece poderosas funções de processamento de banco de dados, e o BDE é a parte principal da função de banco de dados da Delphi.
Tomando um banco de dados local que é usado apenas por uma máquina independente como exemplo, o programa Delphi pode controlar diretamente o acesso dos dados do banco de dados através do BDE. Esse controle de acesso é baseado na configuração dos parâmetros BDE. Tabelas de banco de dados específicas. Portanto, ao criar uma tabela de banco de dados, deve haver dois processos: um é para detectar se o alias correspondentes do banco de dados existe através do BDE. (ou seja, nome do banco de dados) no alias do banco de dados (ou seja, nome do banco de dados) se existe uma tabela de banco de dados que precisa ser estabelecida, se não existir, será estabelecida. Dessa forma, os dados na tabela original são protegidos contra a perda.
2. Componente de sessão: interface entre o Delphi Database Program e BDE
A Delphi fornece automaticamente um componente de sessão para aplicativos de banco de dados, que é a chave para a interface do aplicativo com o BDE. Abaixo está uma descrição do protótipo de vários processos do componente da sessão em relação à interface BDE.
1.GetaliasNames (Lista: TSTRINGS);
2.Addstandardalias (nome const, caminho, defaultDriver: string); Por exemplo, adicione um alias chamado CNTSSamp, o driver de banco de dados padrão é o paradoxo e o caminho de armazenamento é c:/delphp11:
Session.addstandardalias (CNTSSamp, c:/delphp11, paradox);
3.gettableNames (const DatabaseName, Padrão: String; Extensões, SystemTables: Boolean; List: TStrings);
4.SaveConfigfile;
Além disso, use o valor da lista.IndexOF (string especificada) para determinar se existem strings necessários na lista de string para determinar se um novo alias de banco de dados e tabela de banco de dados devem ser estabelecidos.
3. Um exemplo
Escreva o seguinte código no evento Form1.FormCreate. CNTSSAMP.
Procedimento TForm1.FormCreate (remetente: Tobject
var
AP: TStringList;
Resposta: Inteiro;
Começar
AP: = tStringList.create;
Session.getaliasNames (AP);
if (ap.indexOf (cntsSamp) =-1) Então {determine se o alias existe}
Começar
Resposta: = Application.MessageBox (O alias cNTSSamp não existe, está criado agora?, BDE Informações Janela, MB - Okcancel); {Adicione um alias de banco de dados chamado Cngzsamp}
Se Answer = IdCancel então
Começar
ap.free;
Saída;
fim;
Session.addstandardalias (CNTSSamp, c:/delphp11, paradox);
Session.SaveConfigFile;
fim ;
ap.clear;
Session.gettableNames (cnttsamp ,, falso, falso, AP);
if (ap.indexOf (tsk) =-1) Então {determine se a tabela existe}
Começar
Resposta: = Application.MessageBox (A tabela TSK não existe no alias cntsSamp, é criada agora?
Se Answer = IdCancel então
ap.free;
Saída;
fim;
com a Tabela1 do
Começar
Ativo: = false;
DatabaseName: = CNTSSamp;
TableName: = TSK;
TableType: = TTParadox;
Com o FieldDefs
Comece {Adicionar campo}
Claro;
Add (sh, ftstring, 30, falso);
Add (SM, FtString, 30, False);
Add (cbs, ftstring, 20, false);
Add (cbrq, ftdate, 0, false);
Add (ys, ftinteger, 0, false);
fim;
com indexdefs
Comece {Add Index}
Claro;
Add (shsy, sh, [primário, ixunique]);
fim;
CreateTable;
fim;
fim ;
ap.free;
fim;