Fórum Criar Base de Dados via Delphi #366716

04/12/2008

0

Ola pessoal, gostaria de saber se alguém sabe como criar um banco de dados do zero a partir do delphi, sem usar nenhuma ide de algum SGDB, pois ja ouvi falar que atraves do DBExpress isso seria impossivel, ouvi dizer tbm dos componentes da paleta IBO, mas nada deu certo até agora, gostaria da ajuda de vocês, abrigado a todos.


Onhide86

Onhide86

Responder

Posts

04/12/2008

Max2006

Pra criar o Banco de dados via Delphi.

1 - Coloque o Componente IBDatabase1 da palheta IBX no formulario...

2- Coloque um botão no formulário e no evento Onclick no botão coloque este código...

procedure TForm1.Button1Click(Sender: TObject);
begin
with IBDatabase1 do
begin
SQLDialect := 3;
DatabaseName := ´C:\MEUBANCO.GDB´;
Params.Clear;
Params.Add(´USER ´´SYSDBA´´´);
Params.Add(´PASSWORD ´´masterkey´´´);
Params.Add(´PAGE_SIZE 4096´);
Params.Add(´DEFAULT CHARACTER SET ISO8859_1´);
try
CreateDatabase;
except
{tratamento de erro}
end;
end;


3 - Para Criar a Tabela Via código.... (este exemplo eu coloquei que você pode criar a tabela com o SQLQuery da palheta IBX mas pode usar o componente IBQuery da palheta IBX.


após criar o DataBase, você abre uma conexão com o mesmo através do TSQLConnection, e com um TSQLQuery você cria as tabelas tipo:
Código: (antes coloque

procedure CreateTable(ACon: TSQLConnection; AScriptSQL: string);
var
QRY: TSQLQuery;
begin
QRY := TSQLQuery.Create(nil);
try
ACon.Open;
QRY.SQLConnection := ACon;
with QRY do
begin
Close;
SQL.Clear;
SQL.Text := AScriptSQL;
ExecSQL();
end;
finally
ACon.Close;
FreeAndNil(QRY);
end;


ai um metodo para verificar se a tabela já existe antes de cria-la:
Código:

function TableExist(ACon: TSQLConnection; ATableName: string): Boolean;
var
List: TStrings;
i : integer;
begin
Result := False;
List := TStringList.Create;
try
ACon.Open;
ACon.GetTableNames(List);

for i := 0 to List.Count - 1 do
begin
if UpperCase(List.Strings[i]) = UpperCase(ATableName) then
Result := True;
end;

finally
List.Free;
ACon.Close;
end;
end;




então você pode usar assim:
Código:

begin
if not FileExists(´MEUBANCO.GDB´) then
CreateDataBase(´MEUBANCO.GDB´);

// aqui você configura o objeto TSQLConnection para se conectar com o DataBase: ´C:\teste.fdb´

if not TableExist(´TableName´) then
CreateTable(SQLConnection, SeuScriptSQL);



Eu nunca tentei, mas acredito que possa...

Tente inserir o arquivo de criação de banco de dados que o Firebird oferece para dentro do seu executável e crie o seu banco então você não precisa-rá usar o IBX para criar o ´Firebird´ ou o ´Interbase´. Então precisa-rá só do DBX para criar as Tabelas com SQLQuery...

Espero ter ajudado...


Responder

Gostei + 0

04/12/2008

Onhide86

Nossa Max, muito obrigado, vou testar esses comandos, mas tipo, e para criar outro banco de dados sem ser Firebird? exemplo: Oracle, MySql...
Abraço.


Responder

Gostei + 0

04/12/2008

Max2006

Nossa Max, muito obrigado, vou testar esses comandos, mas tipo, e para criar outro banco de dados sem ser Firebird? exemplo: Oracle, MySql... Abraço.
,


Pequise aqui no Site, se não achar olhe no Google...


Responder

Gostei + 0

04/12/2008

Onhide86

Vou ser bem sincero contigo cara, quando eu quero procurar alguma coisa, eu vou primeiro no google, senão achar vou no forum e a ultima etapa e a de postar aqui, ok.
Abraço.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar