Delphi SQLite3使用ZeosLib,如何创建数据库和表?

时间:2014-11-05 15:02:14

标签: database delphi sqlite

我希望使用Zeoslib组件在Windows 7上使用我的Delphi程序以编程方式创建数据库和表。根据我在网上发现的内容,Zeoslib希望在使用之前创建数据库。如果是这样,有没有办法使用Zeoslib工具创建数据库和表。

2 个答案:

答案 0 :(得分:4)

正常这个问题将被关闭,因为你没有显示到目前为止你尝试了什么。

使用ZeosLib很容易

安全注意事项:
当然,您应该使用参数化查询。只是为了简化程序,这里省略了

创建数据库

procedure TForm1.CreateClick(Sender: TObject);
begin
  ZConnection1.Protocol:='sqlite-3';
  ZConnection1.Database:='F:\Programme\stack\SQLite\Database.sqlite';
  ZConnection1.Connect;
  ZConnection1.Disconnect;
end;

创建表格并插入

procedure TForm1.CreateInsertClick(Sender: TObject);
begin
    ZQuery1.SQL.Text := 'CREATE TABLE hardware (id INTEGER PRIMARY KEY, compname VARCHAR(30), username VARCHAR(30), model VARCHAR(30))';
    ZQuery1.ExecSQL;
    ZQuery1.SQL.Text := 'CREATE INDEX sHardware ON hardware(compname)';
    ZQuery1.ExecSQL;
    ZQuery1.SQL.Text := 'INSERT INTO hardware(id, compname, username, model) VALUES (1, "AMD8537", "OMonge", "Gigabyte");';
    ZQuery1.ExecSQL;
end;

再次查看值连接

procedure TForm1.ConnectClick(Sender: TObject);
begin
  ZConnection1.Connect;
end;

显示值

procedure TForm1.OpenClick(Sender: TObject);
begin
    ZQuery1.SQL.Text := 'SELECT id, compname FROM hardware';
    ZQuery1.Open;
end; 

表格

enter image description here

运行

enter image description here

答案 1 :(得分:2)

如果数据库文件不存在 - SQLite在connect上创建它。 下面是一个非常简单但功能正常的例子:

procedure TForm1.Button1Click(Sender: TObject);
begin
    ZConnection1.Protocol := 'sqlite-3';
    ZConnection1.Database := 'foo.s3db';
    if not FileExists('foo.s3db') then
    begin
        ZConnection1.Connect;
        ZConnection1.ExecuteDirect('create table foo (bar integer)');
    end
    else
        ZConnection1.Connect;
    ZConnection1.Disconnect;
end;