一个简单的Delphi7小程序,使用MySql数据库做简单查询,用DBGrid控件显示结果,实现过程如下:
(1)在MySql中新建demouser表,插入记录用于测试。
(2)在Delphi7中新建项目。
(3)在From中添加组件。
组件Panel:pnl1
组件属性-属性值:
Caption-请输入工号:
组件Edit:edt1
组件Button:btn1
组件属性-属性值:
Caption-查询
组件ADOQuery:qry1
组件属性-属性值:
Active-True //设置SQL属性后取得表中数据,绑定的显示控件上可以实时出现数据
ConnectionString-Provider=MSDASQL.1;Persist Security Info=False;Data Source=MySqlOdbcU //ODBC方式连接MySql,参考:http://blog.csdn.net/akof1314/article/details/6822902
SQL-SELECT * FROM DEMOUSER;
组件DataSource:ds1
组件属性-属性值:
DataSet-qry1 //绑定数据集ADOQuery
组件DBGrid:dbgrd1 //认的情况下,dbgrid的数据修改就和打开数据库直接修改一样,修改完自动保存,除非修改了readonly(只读) enable(可选中)这些属性的默认值或者单独修改了字段的这两个属性
组件属性-属性值:
DataSource-ds1 //绑定数据源DataSource
Enabled-True //可选中?
ReadOnly-True //只读?
(4)在代码编辑窗口中增加代码。
unit DataInMysql; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, ADODB,ComObj, Grids, DBGrids, ExtCtrls; type TForm1 = class(TForm) qry1: TADOQuery; ds1: TDataSource; btn1: TButton; dbgrd1: TDBGrid; pnl1: TPanel; edt1: TEdit; procedure btn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses UserMessage; {$R *.dfm} procedure TForm1.btn1Click(Sender: TObject); var s:string; begin s:='SELECT * FROM DEMOUSER where 1=1'; if edt1.Text<>'' then begin s:=s+' and id= '+edt1.Text; end; with qry1 do begin Close; SQL.Clear; SQL.Add(s); Open; end; end; end.
(5)运行项目,保存文件。
效果如下:
注意:选择【Project | View Source】,可以创建一个缺省的Delphi项目文件的源代码(.DPR),修改后双击它打开对应的项目,避免点击启动时总是启动其他项目。
program Project3; uses Forms, DataInMysql in 'DataInMysql.pas' {Form1}; //改这儿 {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end.