数据库delphi7实验56报告册.docx
《数据库delphi7实验56报告册.docx》由会员分享,可在线阅读,更多相关《数据库delphi7实验56报告册.docx(13页珍藏版)》请在冰豆网上搜索。
![数据库delphi7实验56报告册.docx](https://file1.bdocx.com/fileroot1/2022-11/25/4490ebe8-717c-4fa0-92c5-4936482c255f/4490ebe8-717c-4fa0-92c5-4936482c255f1.gif)
数据库delphi7实验56报告册
科技学院
《数据库技术B》实验报告
2012—2013学年第一学期
专业:
信息管理与信息系统
班级:
KT1073-1___
学号:
20109730122_____
姓名:
王鼎家
授课教师:
__薛昌春__
实验教师:
__薛昌春__
实验学时:
___30_____
实验项目个数:
12
实验地点:
信息工程实验室
经济管理学院
实验五
实验题目:
使用Ttable组件进行简单程序设计
实验目的:
Ttable组件的属性设计;数据库连接设置;数据控制方法,数据定位功能设计,编程设计。
实验类型:
验证性
实验内容:
编写使用BDE的一个应用程序实现表中纪录的插入、编辑、更新以及记录指针,如下图所示:
点击浏览数据,界面如图所示:
实验步骤简介:
1.建立表格books,字段有bookno,bookname,author,publishment,buytimeyear,byetimemonth,buytimedate,buytime,ordered,borrowed。
并在BDEAdministration中建立数据库别名books。
2.使用pagecontrol控件,右键单击弹出快捷键,使用newpage方法产生浏览记录和浏览数据的两个页面。
修改两个tabsheet的caption属性,命名为浏览记录和浏览数据。
3.在tabsheet1页面下,放置table1,datasource1和DBNavigator1控件,并设置属性。
设置table的databasename和tablename属性。
Datasource1只需设置dataset属性。
DBNavigator1设置datasource属性。
4.在tabsheet1页面下,放置相关控件,如,dbedit,dbcombobox,dbradiogroup.分别设置它们的datasource和datafield属性。
5.Form1中添加close按钮,在tabsheet1中添加两个按钮。
6.在button下编程,实现程序功能。
procedureTForm1.FormCreate(Sender:
TObject);
begin
withDBRadioGroup1do
begin
Items.Add('是');
Items.Add('否');
Values.Add('True');
Values.Add('False');
end;
end;
7.在tabsheet2页面下,放置DBGrid1和DBNavigator2控件。
并按照上面第三步的方式设置属性。
在DBGrid1中实现当具体点击某一行的数据时,页面切换到tabsheet2界面下。
在DBGrid1的事件中oncellclick中编程。
相关代码为:
Pagecontrol1.activepage:
=tabsheet1;
9.”添加”按钮BitBtn1的点击事件代码:
table1.Insert;
10.”确定”按钮BitBtn2的点击事件代码:
table1.Post;
所有代码:
unitUnit1;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls,ExtCtrls,DBCtrls,Mask,DB,DBTables,ComCtrls,
Buttons,Grids,DBGrids;
type
TForm1=class(TForm)
PageControl1:
TPageControl;
TabSheet1:
TTabSheet;
TabSheet2:
TTabSheet;
DataSource1:
TDataSource;
DBNavigator1:
TDBNavigator;
Table1:
TTable;
DBEdit1:
TDBEdit;
Label1:
TLabel;
Label2:
TLabel;
Label3:
TLabel;
Label4:
TLabel;
Label5:
TLabel;
Label6:
TLabel;
Label7:
TLabel;
DBEdit2:
TDBEdit;
DBEdit3:
TDBEdit;
DBComboBox1:
TDBComboBox;
DBEdit4:
TDBEdit;
DBRadioGroup1:
TDBRadioGroup;
DBRadioGroup2:
TDBRadioGroup;
BitBtn1:
TBitBtn;
BitBtn2:
TBitBtn;
Label8:
TLabel;
BitBtn3:
TBitBtn;
DBGrid1:
TDBGrid;
DBNavigator2:
TDBNavigator;
procedureDBGrid1CellClick(Column:
TColumn);
procedureBitBtn3Click(Sender:
TObject);
procedureBitBtn1Click(Sender:
TObject);
procedureBitBtn2Click(Sender:
TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Form1:
TForm1;
implementation
{$R*.dfm}
procedureTForm1.DBGrid1CellClick(Column:
TColumn);
begin
Pagecontrol1.activepage:
=tabsheet1;
end;
procedureTForm1.BitBtn3Click(Sender:
TObject);
begin
close;
end;
procedureTForm1.BitBtn1Click(Sender:
TObject);
begin
table1.Insert;
end;
procedureTForm1.BitBtn2Click(Sender:
TObject);
begin
table1.Post;
end;
end.
实验总结及感想:
实验六
实验题目:
使用Ttable组件和数据控制组件进行程序设计。
实验目的:
掌握Ttable组件查询功能实现方法;查询条件设计;查询结果显示。
实验类型:
验证性
实验内容:
一.程序总体功能介绍:
用户选择数据库名后,在该数据库名下的所有表格就显示在其下方的Listbox中,点击表格名称,表格对应的字段名就显示在右方的Listbox中。
同时,用户可以根据该表格的第一个字段进行查询具体的记录。
在edit框中输入查询信息,点击“查询”按钮,若查找到相关记录,dbgrid自动会把指针指向那条记录并显示“查询成功”。
否则显示“查询失败”。
按钮上一条记录,下一条记录用来实现数据指针的移动。
二.步骤简介:
1.建立新的应用程序项目。
2.设计窗体。
Label1,label2,label3分别显示“请选择数据库名”,“请选择表格”已经“显示字段名”。
Label4和label5分别用来显示“请输入要查询的【】字段值”其中。
【】的内容是随着所选择表格的第一个字段名而确定的,是随着表格的名称而发生改变的。
Label5的内容是来显示查询的结果的。
若存在则显示查询成功,否则查询失败。
它也是改变的。
所以先设置其一些属性,具体如下:
窗体主要组件的属性值
主要组件
属性值
Label4
Left=251
Top=104
Width=110
Height=33
AutoSize=False
WordWrap=True
Label5
Left=379
Top=152
Width=94
Height=25
AutoSize=False
Dbgrid1
DataSourse=DataSourse1
DataSourse1
DataSet=Table1
3.编写程序代码:
定义两个全局变量,str1和str2,字符串类型。
a.选择数据库名。
当程序一启动就会自动在显示数据库名的combobox中把当前的数据库别名显示出来。
因此需要在Form的oncreate事件中编写程序代码,代码如下:
procedureTForm1.FormCreate(Sender:
TObject);
begin
withComboBox1do
begin
items.Clear;
session.GetAliasNames(items);
text:
=items[0];
end;
end;
c.选择的数据库名后,数据库中所包含的所有表格就显示在Listbox中,程序实现如下:
procedureTForm1.ComboBox1Click(Sender:
TObject);
begin
str1:
=ComboBox1.Items.Strings[ComboBox1.Itemindex];
withlistbox1do
begin
items.clear;
session.GetTableNames(str1,'',true,true,listbox1.Items);
end;
end;
d.单击listbox中的表格后,它所有的字段就会在右边的listbox中显示:
procedureTForm1.ListBox1Click(Sender:
TObject);
begin
withtable1do
begin
close;
databasename:
=str1;
tablename:
=listbox1.Items.Strings[listbox1.itemindex];
open;
end;
withlistbox2do
begin
items.Clear;
items:
=table1.FieldList;
str2:
=items.Strings[0];
label4.Caption:
='请输入要查询的'+str2+'字段值:
';
end;
end;
e.在EDIT中查询,显示查询结果。
procedureTForm1.Button5Click(Sender:
TObject);
begin
withtable1do
begin
close;
indexfieldnames:
=str2;
open;
iffindkey([edit1.Text])then
begin
label5.Caption:
='查询成功!
';
end
else
begin
label5.Caption:
='查找失败!
';
end;
end;
end;
所有代码:
unitUnit2;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls,DB,DBTables,Grids,DBGrids,DBCtrls;
type
TForm1=class(TForm)
Label1:
TLabel;
Label2:
TLabel;
Label3:
TLabel;
Label4:
TLabel;
Label5:
TLabel;
ComboBox1:
TComboBox;
Button1:
TButton;
Button2:
TButton;
Button3:
TButton;
ListBox1:
TListBox;
Edit1:
TEdit;
ListBox2:
TListBox;
Button4:
TButton;
DataSource1:
TDataSource;
Table1:
TTable;
DBGrid1:
TDBGrid;
procedureFormCreate(Sender:
TObject);
procedureComboBox1Change(Sender:
TObject);
procedureListBox1Click(Sender:
TObject);
procedureButton1Click(Sender:
TObject);
procedureButton3Click(Sender:
TObject);
procedureButton2Click(Sender:
TObject);
procedureButton4Click(Sender:
TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Form1:
TForm1;
str1,str2:
string;
implementation
{$R*.dfm}
procedureTForm1.FormCreate(Sender:
TObject);
begin
withComboBox1do
begin
items.Clear;
session.GetAliasNames(items);
text:
=items[0];
end;
end;
procedureTForm1.ComboBox1Change(Sender:
TObject);
begin
str1:
=ComboBox1.Items.Strings[ComboBox1.Itemindex];
withlistbox1do
begin
items.clear;
session.GetTableNames(str1,'',true,true,listbox1.Items);
end;
end;
procedureTForm1.ListBox1Click(Sender:
TObject);
begin
withtable1do
begin
close;
databasename:
=str1;
tablename:
=listbox1.Items.Strings[listbox1.itemindex];
open;
end;
withlistbox2do
begin
items.Clear;
items:
=table1.FieldList;
str2:
=items.Strings[0];
label4.Caption:
='请输入要查询的'+str2+'字段值:
';
end;
end;
procedureTForm1.Button1Click(Sender:
TObject);
begin
table1.Prior;
end;
procedureTForm1.Button3Click(Sender:
TObject);
begin
application.Terminate;
end;
procedureTForm1.Button2Click(Sender:
TObject);
begin
table1.Next;
end;
procedureTForm1.Button4Click(Sender:
TObject);
begin
withtable1do
begin
close;
indexfieldnames:
=str2;
open;
iffindkey([edit1.Text])then
begin
label5.Caption:
='查询成功!
';
end
else
begin
label5.Caption:
='查找失败!
';
end;
end;
end;
end.
实验总结及感想: