Delphi 支持广泛的数据库系统,包括但不限于 SQL Server、MySQL、Oracle、SQLite 等。Delphi 通过其数据库组件,如 ADO, FireDAC, dbExpress 等,为数据库编程提供了强大的支持。
ADO (ActiveX Data Objects) 是 Delphi 中常用的数据访问技术之一。
设置ADOConnection:首先,需要配置 TADOConnection
组件来建立数据库连接。
配置连接字符串:连接字符串包含数据库的类型、位置、登录信息等。
ADOConnection.ConnectionString := 'Provider=SQLOLEDB;Data Source=YourServerName;' +
'Initial Catalog=YourDatabaseName;User Id=yourusername;Password=yourpassword;';
打开连接:调用 ADOConnection.Open
方法打开数据库连接。
FireDAC 是 Delphi 的另一种强大的数据库访问框架。
TFDConnection
组件来配置。TQuery
或 TFDQuery
组件执行 SQL 语句。Query.SQL.Text := 'SELECT * FROM YourTable';
Query.Open;
或 更新:Query.ExecSQL;
TDataSource
。DataSource.DataSet := Query;
这是一个使用 ADO 和 TDBGrid 显示数据库中数据的简单示例:
procedure TForm1.FormCreate(Sender: TObject);
begin
ADOConnection.ConnectionString := 'Your Connection String';
ADOConnection.Open;
ADOQuery.SQL.Text := 'SELECT * FROM YourTable';
ADOQuery.Open;
end;
步骤 1: 准备数据库
首先,确保你有一个 SQLite 数据库文件
example.db
,并且里面有一个表Customers
。步骤 2: Delphi 项目设置
- 打开 Delphi,创建一个新的 VCL Forms 应用程序。
- 在表单上添加
TFDConnection
,TFDQuery
,TDataSource
,TDBGrid
, 和TButton
组件。步骤 3: 配置组件
设置 TFDConnection:
DriverName
设置为SQLite
。Params
属性中设置数据库文件的路径。设置 TFDQuery:
Connection
属性设置为FDConnection1
。SQL.Text
属性设置 SQL 查询语句。设置 TDataSource:
DataSet
属性设置为FDQuery1
。设置 TDBGrid:
DataSource
属性设置为DataSource1
。设置 TButton:
- 在其
OnClick
事件中调用FDQuery1.Open
。完整的代码
unit MainForm;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Grids, Vcl.DBGrids,
Data.DB, FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Param,
FireDAC.Stan.Error, FireDAC.DatS, FireDAC.Phys.Intf, FireDAC.DApt.Intf,
FireDAC.Stan.Async, FireDAC.DApt, FireDAC.Comp.DataSet, FireDAC.Comp.Client,
FireDAC.VCLUI.Wait, FireDAC.Comp.UI, FireDAC.Phys, FireDAC.Phys.SQLite,
FireDAC.Phys.SQLiteDef, FireDAC.Stan.Def, FireDAC.Stan.Pool, Vcl.StdCtrls;
type
TForm1 = class(TForm)
FDConnection1: TFDConnection;
FDQuery1: TFDQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ 私有声明 }
public
{ 公共声明 }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
FDQuery1.Open;
end;
end.
在相应的 .dfm
文件中,设置以下内容:
object Form1: TForm1
Left = 0
Top = 0
Caption = 'FireDAC SQLite Demo'
ClientHeight = 300
ClientWidth = 534
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object DBGrid1: TDBGrid
Left = 10
Top = 10
Width = 514
Height = 200
DataSource = DataSource1
TabOrder = 0
end
object Button1: TButton
Left = 10
Top = 220
Width = 75
Height = 25
Caption = 'Load Data'
TabOrder = 1
OnClick = Button1Click
end
object FDConnection1: TFDConnection
Params.Strings = (
'Database=C:\path\to\your\example.db'
'DriverID=SQLite')
LoginPrompt = False
end
object FDQuery1: TFDQuery
Connection = FDConnection1
SQL.Strings = (
'SELECT * FROM Customers')
end
object DataSource1: TDataSource
DataSet = FDQuery1
end
end
请确保将 FDConnection1.Params.Strings
中的 Database
路径设置为你的 SQLite 数据库文件路径。
当你运行这个程序并点击“Load Data”按钮时,它会从 SQLite 数据库加载 Customers
表的内容到 TDBGrid
中展示。