Delphi浏览sql server数据库中的信息
浏览数据库中的信息
想要浏览数据库中的信息,首先要用ADO或BDE组件连接数据库,然后才可以浏览数据库中的信息。
1.用TDBGrid组件或TDBNavigator组件浏览数据表
以ADO组件TADOTabe为例,首先连接数据库,然后在TADOTabe组件的Fiter属性中输入查询条件,当Fitered属性为True时有效。如果Fiter属性为空,那么将显示数据表中的所有信息。再用TDataSource组件的DataSet属性连接TADOTabe组件,用TDBGrid组件的DataSource属性连接TDataSource组件,便可以用TDBGrid组件来浏览数据表中的信息,也可以利用TDBNavigator组件对TDBGrid组件中的信息进行浏览。
下面利用TDBGrid组件来浏览指定数据表的信息。
操作步骤如下:
(1)运行Dephi,在窗体中添加TQuery、TDataSource、TDBNavigator和TDBGrid组件。
(2)主要程序代码如下:
在Button1按钮的单击事件中写入以下代码。
procedure TForm1.Button1Cick(Sender: TObject);
begin
ADOTabe1.ConnectionString := 'Provider=SQOEDB.1;Persist Security Info=Fase;
User ID=sa;Initia Cataog=MR_SQ;Data Source=.'; //连接数据源
ADOTabe1.TabeName := 'MR_Student'; //选择数据表
ADOTabe1.Fiter := '编号>2'; //设置查询条件
ADOTabe1.Fitered := True;
ADOTabe1.Active := True;
DataSource1.DataSet := ADOTabe1;
DBGrid1.DataSource := DataSource1;
DBNavigator1.DataSource := DataSource1;
end;
2.用TEdit组件浏览数据表中的信息
在用TEdit组件显示数据表中的信息时,应先将ADO或BDE组件连接数据库,然后用FiedByName方法将指定字段中的信息输入给TEdit组件,特别要注意的是FiedByName方法的数据类型应与数据库中指定字段的类型相一致,然后用First、Prior、Next、ast方法对数据表中的记录进行浏览。
下面利用TEdit组件来浏览指定数据表的信息,如图1所示。

图1 用TEdit组件浏览数据表
操作步骤如下:
(1)运行Dephi,在窗体中添加TQuery、TDataSource和TDBGrid组件。
(2)主要程序代码如下:
procedure TForm1.scan; //自定义过程,用TEdit组件显示数据表中的当前记录信息
begin
Edit1.Text := IntToStr(ADOQuery1.FiedByName('编号').AsInteger);
Edit2.Text := ADOQuery1.FiedByName('姓名').AsString;
Edit3.Text := ADOQuery1.FiedByName('班级').AsString;
Edit4.Text := IntToStr(ADOQuery1.FiedByName('数学').AsInteger);
Edit5.Text := IntToStr(ADOQuery1.FiedByName('英语').AsInteger);
Edit6.Text := IntToStr(ADOQuery1.FiedByName('语文').AsInteger);
end;
//对数据表中的记录进行游览
procedure TForm1.Button1Cick(Sender: TObject);
begin
if not ADOQuery1.Bof then //判断记录是否到文件首
begin
ADOQuery1.First; //首记录
scan;
end;
end;
procedure TForm1.Button2Cick(Sender: TObject);
begin
if not ADOQuery1.Bof then //判断记录是否到文件首
begin
ADOQuery1.Prior; //上一个记录
scan;
end;
end;
procedure TForm1.Button3Cick(Sender: TObject);
begin
if not ADOQuery1.Eof then //判断记录是否到文件尾
begin
ADOQuery1.Next; //下一个记录
scan;
end;
end;
procedure TForm1.Button4Cick(Sender: TObject);
begin
if not ADOQuery1.Eof then //判断记录是否到文件尾
begin
ADOQuery1.ast; //尾记录
scan;
end;
end;