ADO数据库连接_第1页
ADO数据库连接_第2页
ADO数据库连接_第3页
ADO数据库连接_第4页
ADO数据库连接_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ADO数据库连接ADO数据库连接DBE数据库连接DELPHI数据库连接DELPHI常用连接数据库方式:DBE、ADO两种方式BDE:由波蓝公司开发,针对DELPHI开发的连接数据库引擎。ADO:由微软公司开发的通用连接数据库引擎(DELPHI7.0中很常用,现已推出ADO.NET数据库引擎)。DBE数据库连接DELPHI数据库连接DELPHI连接数据库ADO方式。ADOConnection数据库连接ADOCommandADODataSetADOTableADOQueryADOStoredProcRDSConnectionDBE数据库连接DELPHI数据库连接DELPHI连接数据库ADO方式AD

2、OConnection:数据库连接ADOCommand:无返回数据集的sql命令。ADODataSet:集合和表、查询、存储过程集合。ADOTable:通过表查询ADOQuery:通过sql命令查询或执行。ADOStoredProc :存储过程。注: ADODataSet集合了ADOTable、 ADOQuery、 ADOStoredProc 所有功能。DBE数据库连接DELPHI连接数据库ADO方式ACCESS的连接DBE数据库连接DELPHI连接数据库ADO方式ACCESS的连接ADOTABLEDBE数据库连接DELPHI数据库连接DELPHI连接数据库ADO方式ACCESS的连接(使用A

3、DOTable )adoconnectionADOTableStringGridDBE数据库连接DELPHI数据库连接DELPHI连接数据库ADO方式ACCESS的连接(使用ADOTable )双击DBE数据库连接DELPHI数据库连接DELPHI连接数据库ADO方式ACCESS的连接(使用ADOTable )procedure TForm1.Button1Click(Sender: TObject);var i:integer;begini:=0;while not(form1.ADOTable1.Eof) dobegin StringGrid1.Rowsi.Add(ADOTable1.Fi

4、eldByName(xingming).AsString); StringGrid1.Rowsi.Add(ADOTable1.FieldByName(xuehao).AsString); StringGrid1.Rowsi.Add(ADOTable1.FieldByName(rxzf).AsString); StringGrid1.Rowsi.Add(ADOTable1.FieldByName(dy).AsString); ADOTable1.Next; i:=i+1;end;end;DBE数据库连接DELPHI连接数据库ADO方式ACCESS的连接ADODATASETDBE数据库连接DELP

5、HI数据库连接DELPHI连接数据库ADO方式ACCESS的连接(使用ADODATASET)adoconnectionADODatasetStringGridDBE数据库连接DELPHI数据库连接DELPHI连接数据库ADO方式ACCESS的连接(使用ADODATASET)连接状态命令字符命令类型数据库连接DBE数据库连接DELPHI数据库连接DELPHI连接数据库ADO方式ACCESS的连接(使用ADODATASET)procedure TForm1.Button1Click(Sender: TObject);var i:integer;begini:=0;while not(form1.A

6、DODataSet1.Eof) dobegin StringGrid1.Rowsi.Add(ADODataSet1.FieldByName(xingming).AsString); StringGrid1.Rowsi.Add(ADODataSet1.FieldByName(xuehao).AsString); StringGrid1.Rowsi.Add(ADODataSet1.FieldByName(rxzf).AsString); StringGrid1.Rowsi.Add(ADODataSet1.FieldByName(dy).AsString); ADODataSet1.Next; i:

7、=i+1;end;end;DBE数据库连接DELPHI连接数据库ADO方式ACCESS的连接ADOQUERYDBE数据库连接DELPHI数据库连接DELPHI连接数据库ADO方式ACCESS的连接(使用ADOQUERY)ADOConnectionADOQueryDBGridDBE数据库连接DELPHI数据库连接DELPHI连接数据库ADO方式ACCESS的连接(使用ADOQUERY)procedure TForm1.Button1Click(Sender: TObject);begin ADOQuery1.Close; ADOQuery1.Connection:=ADOConnection1;

8、 ADOQuery1.Parameters.Clear; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(select * from xuesheng where rxzf:fs); ADOQuery1.Parameters.ParamByName(fs).Value:=edit1.Text; ADOQuery1.Active:=true;end;带参数DBE数据库连接DELPHI连接数据库ADO方式ACCESS的连接ADODatasetDBE数据库连接DELPHI数据库连接DELPHI连接数据库ADO方式ACCESS的连接(使用ADODATASET)ADOCon

9、nectionADODataSetDBGridDBE数据库连接DELPHI数据库连接DELPHI连接数据库ADO方式ACCESS的连接(使用ADODATASET)procedure TForm1.Button1Click(Sender: TObject);beginADODataSet1.Close;ADODataSet1.Connection:=ADOConnection1;ADODataSet1.CommandType:=cmdText;ADODataSet1.CommandText:=select * from xuesheng where rxzf:fs;ADODataSet1.Par

10、ameters.ParamByName(fs).Value:=edit1.Text;ADODataSet1.Active:=true;end;DBE数据库连接DELPHI连接数据库ADO方式 数据集的排序和筛选排 序DBE数据库连接DELPHI数据库连接DELPHI连接数据库ADO方式 数据集的排序ADOConnectionADODataSetDBGridDBE数据库连接DELPHI数据库连接DELPHI连接数据库ADO方式 数据集的排序procedure TForm1.Button1Click(Sender: TObject);Var i:integer;beginADODataSet1.C

11、lose;ADODataSet1.Connection:=ADOConnection1;ADODataSet1.CommandType:=cmdText;ADODataSet1.CommandText:=select * from xuesheng where rxzf:fs;ADODataSet1.Parameters.ParamByName(fs).Value:=edit1.Text;ADODataSet1.Active:=true;form1.ADODataSet1.First;for i:=0 to form1.ADODataSet1.Fields.Count-1 dobegin fo

12、rm1.ComboBox1.Items.Add(ADODataSet1.Fieldsi.FieldName);end;end;procedure TForm1.Button2Click(Sender: TObject);begin ADODataSet1.IndexFieldNames:=ComboBox1.Text;end;DBE数据库连接DELPHI连接数据库ADO方式 数据集的排序和筛选筛 选DBE数据库连接DELPHI数据库连接DELPHI连接数据库ADO方式 筛选ADOConnectionADODataSetDBGridDBE数据库连接DELPHI连接数据库ADO方式 筛选proce

13、dure TForm1.Button1Click(Sender: TObject);begin ADODataSet1.Close; ADODataSet1.Filtered:=false; ADODataSet1.Connection:=ADOConnection1; ADODataSet1.CommandType:=cmdText; ADODataSet1.CommandText:=select * from xuesheng; ADODataSet1.Active:=true; ADODataSet1.First;end;procedure TForm1.Button2Click(Sen

14、der: TObject);beginADODataSet1.Filtered:=true;ADODataSet1.Filter:=rxzf=+Edit1.Text;end;procedure TForm1.Button3Click(Sender: TObject);beginform1.ADODataSet1.Filtered:=false;end;DBE数据库连接DELPHI连接数据库ADO方式 数据集的插入、删除和更新插 入DBE数据库连接DELPHI数据库连接DELPHI连接数据库ADO方式 记录的插入方法一:使用 ADOCommand插入记录。ADOConnectionADOData

15、SetADOCommandDBE数据库连接DELPHI数据库连接DELPHI连接数据库ADO方式 记录的插入方法一:使用 ADOCommand插入记录。procedure TForm1.Button2Click(Sender: TObject);var sql_insert:string;Begin sql_insert:=insert into xuesheng(xingming,xuehao,rxzf,dy) values(+edit1.Text+,+edit2.Text+,+edit3.Text+,+booltostr(form1.CheckBox1.Checked)+); ADOCom

16、mand1.Connection:=form1.ADOConnection1; ADOCommand1.CommandType:=cmdText; ADOCommand1.CommandText:=sql_insert; ADOCommand1.Execute;end;DBE数据库连接DELPHI数据库连接DELPHI连接数据库ADO方式 记录的插入方法一:使用 ADOCommand插入记录。procedure TForm1.Button1Click(Sender: TObject);var sql_insert:string;Begin sql_insert:=delete from xue

17、sheng where id= +form1.ADODataSet1.FieldByName(id).AsString; ADOCommand1.Connection:=ADOConnection1; ADOCommand1.CommandType:=cmdText; ADOCommand1.CommandText:=sql_insert; ADOCommand1.Execute;end;DBE数据库连接DELPHI数据库连接DELPHI连接数据库ADO方式 记录的插入方法二:使用 数据集实现插入记录。(可实现多表查询结果或视图的插入)DBE数据库连接DELPHI数据库连接DELPHI连接数据

18、库ADO方式 记录的插入方法二:使用 数据集实现插入记录。procedure TForm1.Button2Click(Sender: TObject);beginADODataSet1.InsertRecord(nil,edit1.text,edit2.text,edit3.text,checkbox1.checked);end;procedure TForm1.Button1Click(Sender: TObject);begin ADODataSet1.Delete;end;DBE数据库连接DELPHI数据库连接SQL SERVERDBE数据库连接DELPHI查询SQL SERVER表DB

19、E数据库连接DELPHI数据库连接SQLDELPHI数据库连接例:DBE数据库连接DELPHI数据库连接SQLDELPHI数据库连接例:DBE数据库连接DELPHI数据库连接SQLDELPHI数据库连接例:procedure TForm1.Button1Click(Sender: TObject);var sql_cx:string;Begin sql_cx:=select * from xuesheng,qkb where xuesheng.xuehao=qkb.xuehao and xuesheng.rxzf=:fs; ADODataSet1.Close; ADODataSet1.Conn

20、ection:=ADOConnection1; ADODataSet1.CommandType:=cmdText; ADODataSet1.CommandText:=sql_cx; ADODataSet1.Parameters.ParamByName(fs).Value:=edit1.Text; ADODataSet1.Active:=true;end;DBE数据库连接DELPHI执行SQL SERVER存储过程无 参 数DBE数据库连接DELPHI数据库连接SQLDELPHI执行SQL SERVER存储过程无参数ADODataSet DBE数据库连接DELPHI数据库连接SQLDELPHI执

21、行SQL SERVER存储过程无参数procedure TForm1.Button1Click(Sender: TObject);var sql_cx:string;begin sql_cx:=xs1; /存储过程名 ADODataSet1.Close; ADODataSet1.Connection:=ADOConnection1; ADODataSet1.CommandType:=cmdStoredProc; /存储过程 ADODataSet1.CommandText:=sql_cx; ADODataSet1.Active:=true;end;DBE数据库连接DELPHI执行SQL SERV

22、ER存储过程输 入 参 数DBE数据库连接DELPHI数据库连接SQLDELPHI执行SQL SERVER存储过程输入参数ADODataSet DBE数据库连接DELPHI数据库连接SQLDELPHI执行SQL SERVER存储过程输入参数procedure TForm1.Button1Click(Sender: TObject);var sql_cx:string;begin sql_cx:=xs1; /存储过程名 ADODataSet1.Close; ADODataSet1.Connection:=ADOConnection1; ADODataSet1.CommandType:=cmdSt

23、oredProc; /存储过程 ADODataSet1.CommandText:=sql_cx; ADODataSet1.Parameters.Clear; ADODataSet1.Parameters.AddParameter.Name:=fs; /添加参数 ADODataSet1.Parameters.ParamByName(fs).Value:=edit1.Text; /参数 ADODataSet1.Active:=true;end;DBE数据库连接DELPHI执行SQL SERVER存储过程输 出 参 数DBE数据库连接DELPHI数据库连接SQLDELPHI执行SQL SERVER存

24、储过程输出参数procedure TForm1.Button1Click(Sender: TObject);var sql_cx:string;begin sql_cx:=xs1; /存储过程名 ADODataSet1.Close; ADODataSet1.Connection:=ADOConnection1; ADODataSet1.CommandType:=cmdStoredProc; /存储过程 ADODataSet1.CommandText:=sql_cx; ADODataSet1.Parameters.Clear; ADODataSet1.Parameters.AddParamete

25、r.Name:=fs; /添加参数 ADODataSet1.Parameters.ParamByName(fs).Value:=edit1.Text; /参数 ADODataSet1.Parameters.AddParameter.Name:=zong; ADODataSet1.Parameters.ParamByName(zong).Direction:=pdOutput; ADODataSet1.Parameters.ParamByName(zong).Value:= ; ADODataSet1.Active:=true; Label2.Caption:=返回 + ADODataSet1.

26、Parameters.ParamByName(zong).Value+条;end;DBE数据库连接DELPHI连接数据库ADO方式数据集主要事件DBE数据库连接DELPHI连接数据库ADO方式数据集主要事件DELPHI数据库连接SQL事 件 功 能Append表尾添加新的空记录AppendRecord表尾添加新记录 例:appendrecord(12,张三)Cancel取消修改Close关闭数据集Delete擅长当前记录Edit使当前记录进入编辑状态First指针指向第一条记录Last指针指向最后一条记录Getbookmark获取当前记录标签. 标签类: tbookmarkGotobookma

27、rk指针指向标签指向记录Insert插入一条空记录Insertrecord插入一条新记录DBE数据库连接DELPHI连接数据库ADO方式数据集主要事件DELPHI数据库连接SQL事 件功 能Moveby指针相对移动Next指针指向下一条记录Open打开数据集Post提交修改数据Prior指针指向上一条记录Refresh刷新数据集Setfields设置一行数据注:ADO事件的使用方法和BDE事件的使用方法相同。DBE数据库连接DELPHI连接数据库ADO方式数据集主要属性DBE数据库连接DELPHI连接数据库ADO方式 数据集主要属性DELPHI数据库连接 SQL事 件功 能CommandTim

28、eout等待命令执行的时间(以秒为单位)CacheSize缓存大小CursorLocation指针类型(服务器、客户端的)CursorType指针移动类型IndexFieldNames排序字段LockType锁定类型Readonly只读TableDirect直接指向表Filter筛选字段Filtered是否筛选DBE数据库连接DELPHI连接数据库ADO方式数据集锁定方式DBE数据库连接DELPHI连接数据库ADO方式数据集锁定方式DELPHI数据库连接 SQLLockType 锁类型 常数 说明 - ltReadOnly 只读 ltPessimistic 悲观锁 ltOptimistic 乐

29、观锁 ltBatchOptimistic 乐观批更新(缓存) - ltOptimistic:多个用户可以同时访问和编辑数据. ltPessimistic:数据库表同时只能有一个用户打开。(CursorLocation必须是服务器端游标) ltBatchOptimistic只能和游标类型ctStatic或一起使用,使用时不会立即把更新过的记录写入数据源中,而是把对许多记录的改动先放在客户端中,然后把更新过的记录一齐写入数据源中,或者一齐取消掉.DBE数据库连接DELPHI连接数据库ADO方式数据集缓存DBE数据库连接DELPHI连接数据库ADO方式数据集缓存DELPHI数据库连接 SQLADO数

30、据集缓存必须将其LockType属性设置为: ltBatchOptimistic(CursorType属性设置:ctStatic)设置方法DBE数据库连接DELPHI连接数据库ADO方式数据集缓存DELPHI数据库连接 SQLADO数据集缓存必须将其LockType属性设置为: ltBatchOptimistic(CursorType属性设置:ctStatic)ADO数据集将缓存提交给数据库:ADOTable1.UpdateBatch ( 参数 );-ADO数据集将缓存提交给数据库:ADOTable1. CancelBatch ( 参数 );ADOTable1. CancelUpdates;-

31、ADO数据集显示缓存相关信息:ADOTable1.FilterGroup参数说明:Arcurrent : 将当前记录提交更新到数据库。Arfiltered : 将符合过滤条件的记录提交更新到数据库。Arall : 将所有记录提交更新到数据库。DBE数据库连接DELPHI连接数据库ADO方式数据集缓存DELPHI数据库连接 SQLADOTable1.UpdateBatch ( 参数 );参数说明:Arcurrent : 将当前记录提交更新到数据库。Arfiltered : 将符合过滤条件的记录提交更新到数据库。Arall : 将所有记录提交更新到数据库。DBE数据库连接DELPHI连接数据库AD

32、O方式数据集缓存DELPHI数据库连接 SQLADOTable1.FilterGroup ( 参数 );参数说明:fgNone:取消过滤,类似于filtered:=falsefgPendingRecords:显示修改数据且未提交给数据库或取消更新。DBE数据库连接DELPHI连接数据库ADO方式数据集缓存 例:DELPHI数据库连接 SQLDBE数据库连接DELPHI连接数据库ADO方式数据集缓存 例:DELPHI数据库连接 SQLprocedure TForm1.Button1Click(Sender: TObject);begin ADOTable1.UpdateBatch();end;p

33、rocedure TForm1.Button2Click(Sender: TObject);begin ADOTable1.FilterGroup:=fgPendingRecords ;end;procedure TForm1.Button3Click(Sender: TObject);begin ADOTable1.CancelUpdates;end;DBE数据库连接获取DELPHI当前应用程序路径:ExtractFilePath(ParamStr(0)例: showmessage(ExtractFilePath(ParamStr(0);showmessage( ExtractFileDir(Application.Exename);ShowMessage(ExtractFilePath(Application.Exename); 如果要得到系统的当前目录使用Path := GetCurrentDir; 如果要得到程序的当前目录使用Path := ExtractFilePath( Application.ExeName ); str:=GetCurrentDir(); 如果要得到系统的当前目录使用Path := GetCurr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论