ZT:数据集的操作。

运行期间对数据库表的
   一、数据集表的打开与关闭
   打开:设置数据集组件的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方法(表的末尾插入); 
    
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值