




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
delphi adoquery操作DELPHI 2010-08-05 15:50:22 阅读166 评论0 字号:大中小订阅 procedure TForm1.btn1Click(Sender: TObject);begin With ADOQuery1 Do Begin Close; SQL.Clear ; SQL.Add( EXECUTE Test :aa, :bb, :cc Output, :dd Output ) ; Parameters.Items0.Value := Test aa; Parameters.Items1.Value := 1234; Prepared; ExecSQL; Edit1.Text := Parameters.Items2.Value + : + IntToStr(Parameters.Items3.Value); Close; end;end; Delphi在数据库操作是非常好用的,delphi把ADO一些方法属性都集成了,以下是我的一些总结: 通过sql的存储过程来实现:添加 With ADOQuery1 do begin Close; SQL.Clear; SQL.Add( Insert Into Table1(Field1,Field2) SQL.Add( Values(10,20); ExecSQL; end; 修改 With ADOQuery1 do begin Close; SQL.Clear; SQL.Add( Update Table1 Set Field1=20,Field2=30) ExecSQL; end; 删除 With ADOQuery1 do begin Close; SQL.Clear; SQL.Add( Delete From Table1) SQL.Add( Where Field1=20 and Field2=30); ExecSQL; end; 查询 With ADOQuery1 do begin Close; SQL.Clear; SQL.Add( Select Field1,Field2 From Table1) SQL.Add( Where Field1=20 and Field2=30); Open; end;*通过Delphi自有的方法属性实现:添加: with ADOQuery1 do append; . post; 删除: with ADOQuery1 do delete(选择删除的记录); /默认删除记录指针指向的记录修改: with ADOQuery1 do edit; .post; adotable1.Append; /添加 ADotable1.Fields.FieldByName(gxid1).Value:=gx; adotable1.Post; adotable1.delete; /删除 adotable1.edit; /修改 ADotable1.Fields.FieldByName(gxid1).Value:=gx; adotable1.post;WITHI adoquery do begin/添加 adoquery.open;/motice set adoquery.sql adoquery.append;/OR adoquery.insert; fieldbyname(fieldname).asstring:=trim(edit1.text); .adoquery.post; end;删除: adoquery.delete修改: adoquery.edit; fieldbyname(fieldname).asstring:=trim(edit1.text); 有关细节可以参看帮助OR DEMOADOQuery 的几个事件:procedure ADOQuery1_BeforePost ( DataSet : TDataSet);beginend;是在ADOQuery1或者相关联的DataSource的数据集改动后,在将改动保存到内存之前激发的事件,上次使用这个事件是用来判断修改之后的数据是否规范,如果不规范,就给出提示示例如下: 要修改的列关联的Column 是Scoreprocedure ADOQuery1_BeforePost ( DataSet : TDataSet);】var score:string;beginscore:=DataSet.FieldByName(score).AsString; / 提取修改之后的数据if (score不符合规则) then self.msgWarning(输入的数据有错); end;procedure ADOQuery1_AfterScroll (DataSet: TDataSet);beginend;是在点击与ADOQuery1相关联的DBGridEh1中的记录后激发的事件,可以用来做两个DBGridEh控件的关联事件。如:点击DBGridEh1 中的记录1,在DBGridEh2中就显示记录1的详细信息(DBGridEh2与ADOQuery2相关联),(示例如下:procedure ADOQuery1_AfterScroll (DataSet: TDataSet);var sql : string;beginsql:=select * from tableneme where key=”+ADOQuery1.fieldbyname(key).AsString+”ADOQuery2.SQL.Close;ADOQuery2.SQL.Clear;ADOQuery2.SQL.Add(sql);ADOQuery2.SQL.Open;end;/3)、编写命令Button1的OnClick事件处理程序:procedure TForm1.Button1Click(Sender: TObject);begin With ADOQuery1 do begin SQL.Clear; SQL.Add(select * from Employee where 县市=:XianShi); Parameters0.Value:=edit1.Text; Open; end;其中的“XianShi”就是一个参数,名称由用户自定,但参数之前必须加上冒号,而且必须紧跟在参数之前,中间不能有空格!SQL语句中引入参数之后,在执行SQL语句之前就必须给参数赋值。如何赋值呢?这就要用到ADOQuery组件的Parameters属性。该属性是一个下标从0开始的数组:Parameters0、Parameters1、Parameters2、其中的每个数组元素与ADOQuery组件的SQL语句中的参数相对应,例如要给SQL语句中的第一个参数赋值,可以执行如下语句:1.2.2 SQL命令中带有多个参数的情形SQL命令中可以带有多个参数,例如:某个Query组件,为它编写如下的动态SQL语句:Insert Into Customer(CustNo,Name,Country) Values(:CustNo ,:Name ,:Country)对于上述这条动态SQL语句中的三个参数,可以利用Query的Params属性为参数赋值:Query.Params0.AsString:=”1998” ;Query.Params1.AsString:=”AAA” ;Query.Params2.AsString:=”China”;上述语句将把“1998”赋给参数CustNo,“AAA”赋给参数Name,“China”赋给参数Country
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论