|
SQL教程(2) |
来源:转载 人气:1535 录入时间:2007-11-8 |
运行期间对数据库表的
一、数据集表的打开与关闭
打开:设置数据集组件的Active属性为True或调用数据集组件的Open方法
关闭:设置数据集组件的Active属性为False或调用数据集组件的Close方法
二、创建数据库应用程序
利用向导创建:使用Database菜单/Form Wizard选项;
创建主从表:设置从表的MasterSource、MasterField属性;
创建查询表:使用TQuery组件;
三、数据库表记录的定位
使用TDBNavigator组件;
调用数据集组件的First、Next、Prior、Last方法;
数据集组件的EOF属性(或BOF属性)用来判断记录指针是否指向第一条记录(或最后一条记录);
使用数据集的书签BookMark(GetBookMark:获得当前记录的BookMark记号;GotoBookMark:从当前记录直接转到指定BookMark的那条记录;FreeBookMark:释放某个BookMark)
使用GotoKey、FindKey方法查找记录进行定位;
四、数据库表字段对象的使用
(1)创建永久的字段对象
双击或单击再右击TTable(TQuery)对象打开字段编辑器,使用其弹出菜单增加字段对象、删除字段对象、定义新的字段对象(字段编辑器的弹出菜单的New Fields选项,可创建计算字段);
(2)字段对象的属性、方法、事件
字段对象名:如Table1Name、Query1Sid
属性:Alignment(对齐方式)、Calculated(是否是从其它字段值计算得到)、DisplayLabel(显示的标题)、DisplayWidth(显示的宽度)、DisplayFormat(显示的格式)、EditMask(输入的限制)、FieldName(字段名)、ReadOnly(是否只读)、Visible(是否显示)
事件:OnChange(字段值发生变化时触发)、OnGetText(当字段对象获得字段值时触发)、OnSetText(当字段对象被设置字段值时触发)、OnValiData(当修改、插入、进行有效性检验时触发)
(3)字段对象的类型转换
有:AsString 、AsSmallInt 、AsInteger 、AsWord 、AsBoolean 、AsFloat 、AsCurrency 、AsBCD 、AsDate 、AsTime 、AsDateTime转换函数
如:Edit1.Text:=Table1Name.Value ;
Table1Bdate.AsString:=DateToStr(DATE) ;
(4)对字段对象的访问
动态字段对象的访问:Table1.Fields[0]. DisplayLabel:= '学生编号'
Table1.FieldByName('Sid'). DisplayLabel:= '学生编号' Table1.Fields[0].Assignment:=taCenter
Edit1.Text:= Table1.FieldByName('Sid').AsString
永久字段对象的访问:Query1Sid.DisplayLabel:= '学生编号'
Query1Sid.DisplayWidth:= 12
五、对数据库表数据的操作方法
(1)访问表中某一字段的数据的方法:
Table1.FieldByName('bookidx').AsString
Table1.Field[0].AsInteger
Table1.Fieldvalues['bookidx']
(2)数据库表的一些属性:
当前记录号:Table1.Recno
记录总数:Table1.RecordCount
得到表的字段名:Table1.GetFieldNames(ListBox1。Items)
(3)数据维护的方法:
Edit方法:把数据集设置为编辑状态;
Append方法:把数据集设置为插入状态(最后);
insert方法:把数据集设置为插入状态(当前记录后);
Post方法:把修改的记录写回数据集;
Cancel方法:取消当前的操作;
delete方法:删除表中当前记录;
AppendRecord方法:
insertRecord方法:table1.insertRecord(['963409', NIL, NIL,'考试']);
SetRecords方法:
Abort方法:取消各种方法的调用;
(4)输入数据的合法性验证
对数据库表建立合法性验证机制(如在DBD设置表的Validity Check、Table Lookup、Referential Integrity等属性);
在字段编辑表Fields Editor(双击Ttable对象),选择字段,编写其OnValidate事件,要求非空可设置其Required属性为True;
在程序中防止不合法输入(如:使用TDBcombobox对象,TDBlookupcombobox对象);
六、数据检索
(1)利用索引排序
如:TABLE1.IndexName:='uspa' 或TABLE1.IndexFieldNames:='user_id'
(2)使用GotoKey方法查找数据库中的记录
要求查找字段建立了索引,非主索引要设置Ttable对象的IndexName属性。
调用SetKey方法,把要查找的Ttable对象置成查找模块;
把查找值送进被查找的Field的查找缓冲区;
调用Ttable对象的GotoKey方法,测试该方法的返回值判断查找是否成功;
(3)使用FindKey方法查找数据库中的记录
把查找值作为参数传递给FindKey函数,允许有多个查找值,要求把要查找的多个字段的索引名赋给Ttable对象的IndexName属性;
(4)不精确查找
GotoNearest方法
FindNearest方法
(5)使用Locate方法查找数据库中的记录(不用建索引)
table1.locate('字段名1;字段名2',VarArroyof(['值1','值2']),[LoCaseInsensitive,LoPartialKey])
LoCaseInsensitive:忽略大小写;IoPartialKey:不精确查找
(6)设定查找范围的方法
SetRangeStart、SetRangeEnd、EditRangeStart、EditRangeEnd、SetRange([Start Values],[End Value])、ApplyRange、CancelRange
(7)用TQuery组件的动态SQL语句进行查找
七、修改数据库中的记录
在程序中对数据库记录进行操作可按下列的步骤进行:
(1)移动数据指针到要修改的记录;
(2)调用Edit方法将Ttable组件设置成编辑状态;
(3)修改字段值;(Table1.Fieldvalues['字段名']:=值、Table1.Field[0].AsString:=值)
(4)可用Nil对字段赋空值;
(5)调用Post方法将修改后的记录写入数据库;
八、插入和删除记录
删除:移动指针到相应记录处,调用delete方法;
插入:调用insert、insertRecord方法(当前记录处插入)或Append、insertRecord方法(表的末尾插入);
|
|
|