Delphi数据库处理组件
Delphi数据库控件使用入门
Delphi数据库控件使用入门2009年11月04日星期三09:572009年04月16日上午08:49Delphi数据库控件使用入门━━━━━━━━━━━━━━━━━━━━━━━━━━在数据库应用程序中,数据控件是经常要用到的。
数据控件都是可视的。
也就是说,如果修改了这些构件的属性,能在窗体上马上反映出来。
如果这些构件的Enabled属性设为True并且数据集的Active属性也设为True,在设计期就可以看到数据。
下面就来介绍一下这些控件的简单应用:指定一个数据源数据控件必须通过TDataSource构件连接数据集。
TDataSource构件扮演的角色实际上就是数据控件与数据集之间的桥梁。
首先,把一个数据集构件放到窗体或数据模块上,设置它的DatabaseName属性指定要访问的数据库,设置它的TableName属性指定要访问的表。
接着,把一个TDataSource构件放到窗体或数据模块上,设置它的DataSet属性指定数据集。
然后,把一个数据控件放到窗体上,设置它的DataSource属性指定TDataSource构件,而这个TDataSource构件的DataSet属性已经指定了一个数据集。
最后,设置数据控件的DataField属性指定要显示的字段。
不过,对于TDBGrid、TDBCtrlGrid和TDBNavigator构件来说,不需要设置DataField属性,因为这几个控件是以整个数据集为工作内容的。
编辑和更新数据除了TDBNavigator构件外,其他数据控件都是用来显示和编辑数据的。
这里要介绍怎样编辑数据。
要使用户能编辑数据,数据集必须进入dsEdit状态。
如果TDataSource的AutoEdit属性设为False,用户不能直接编辑数据,除非程序调用Edit函数。
要使用户能够在数据控件中修改数据,必须把数据控件的ReadOnly属性设为False。
如果ReadOnly属性设为True,数据控件中显示的数据就是只读的。
Delphi-BDE
Delphi中数据库使用技术一、数据库组件Delphi的组件面板中关于数据库的是BDE、Data Access、Data Controls。
其中BDE、Data Access是非可视化组件,Data Controls是可视化组件。
BDE:提供了以BDE方式访问数据库的数据表和查询数据库等的组件。
如TTable、TQuery;Data Access:提供数据源的连接的组件;如DataSource;Data Controls:用来浏览和编辑数据,为用户提供使用数据库的接口。
如TDBGrid;二、数据库的操作1、选择的组件有DataSource(EmpDataSource)、TTable(EmpTable)、TBGrid(EmpDBGrid)。
将这三个组件关联起来。
显示的结果如下图所示:2、进行数据的DML操作(1)insert:在当前记录的前面添加一条记录。
//添加信息procedureTEmpForm.BtnInsertClick(Sender: TObject);beginEmpDBGrid.ReadOnly:=false;//表格可写EmpDM.EmpTable.Insert;end;(2)append:在文件的尾部增加一条记录。
//追加信息procedureTEmpForm.BtnAppendClick(Sender: TObject);beginEmpDBGrid.ReadOnly:=false;EmpDM.EmpTable.Append;end;(3)delete:删除当前记录。
//删除信息procedureTEmpForm.BtnDelClick(Sender: TObject);beginif messagedlg('您确定要删除当前记录吗?',mtconfirmation,[mbYes,mbNo],0)=mrYes thenbeginEmpDBGrid.ReadOnly:=false;EmpDM.EmpTable.Delete;EmpDBGrid.ReadOnly:=True;end;end;(4)edit:修改当前记录。
Delphi通过ADO组件操作数据库
Delphi 通过ADO 读写数据库ADO 是一种程序对象,用于表示用户数据库中的数据结构和所包含的数据。
ADO (ActiveX Data Objects,ActiveX 数据对象)是Microsoft 提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。
例如,如果您希望编写应用程序从DB2或Oracle 数据库中向网页提供数据,可以将ADO 程序包括在作为活动服务器页(ASP)的HTML 文件中。
当用户从网站请求网页时,返回的网页也包括了数据中的相应数据,这些是由于使用了ADO 代码的结果。
在Delphi 5.0 以上的版本都可以很好的支持ADO技术。
Delphi 中 ADO 主要有1、ADOConnection 用于链接数据库2、ADOCommand ADODataSet 用来查询或执行SQL 语名;3、DataSource 数据中间存储组件;4、DBGrid 数据显示出来;其实主要是用ADO 连接,而ADO 也是最常用的连接技术之一。
以下几个控件在连接数据库时是用得比较多的,并且通常的的连接架构是————————————————————数据库↑ADOConnection↑ ↑ADOCommand ADODataSet↑DataSource↑DBGrid————————————————————Hanks-Lu 2013.08.21 09:15:46 +08'00'或者————————————————————数 据 库↑ ↑ADOCommand ADODataSet↑DataSource↑DBGrid————————————————————也就是说,ADOCommand和ADODataSet既可以通过ADOConnection连接数据库,也可以不用,分别直接连接数据库,因为这三个控件都有一个共同的ConnectionString属性。
一、 TADOConnection组件该组件用于建立数据库的连接。
DELPHI 数据库(基本编辑操作)
五、数据库1(基本编辑操作)步骤一:开始---程序---Borland Delphi 6---BDE---Object---New---OK(默认STANDARD)---PATH---设置为含有数据库文件的目录下。
步骤二:向Form1中添加Table组件(BDE组中),DatabaseName---STANDARD1(上一步创建的),TableName---Pza.DBF。
添加DataSource 组件(Data Access组中),DataSet---Table1。
添加DBGrid组件(Data Controls 组中)DataSource---DataSource1。
添加DBNavigator1组件(Data Controls 组中)DataSource---DataSource1。
向Form1中添加6个Button(Button1…Button6) , Caption依次为”添加”,”删除”,”修改”,”确定”,”取消”,”退出”步骤三:1.声明一个procedure (public后面一行):procedure setstate(s:integer); //0:browse;1:edit or insert定义这个procedure(implementation {$R *.dfm}后面一行):procedure TForm1.setstate(s:integer);beginif s=0 thenbeginbutton1.Enabled:=True;button2.Enabled:=True;button3.Enabled:=True;button4.Enabled:=False;button5.Enabled:=False;button6.Enabled:=True;endelsebeginbutton1.Enabled:=False;button2.Enabled:=False;button3.Enabled:=False;button4.Enabled:=True;button5.Enabled:=True;button6.Enabled:=False;end;end;2.定义变量x(implementation下面一行):var x:integer;3.打开Table(Form1---OnActivate) :Table1.Open;setstate(0);4. Button1:Table1.Append;DBGrid1.SetFocus;setstate(1);Button2:if MessageDLG('Delete?',mtwarning,[mbYes,mbNo],0)=mrYes then Table1.Delete;Button3:Table1.Edit;DBGrid1.SetFocus;setstate(1);Button4:Table1.Post;setstate(0);Button5:Table1.Cancel;setstate(0);Button6:Table1.Close;Application.Terminate;5. Datasource1---AutoEdit: false;。
Delphi中DBEdit组件使用方法
Delphi中DBEdit组件使用方法
Delphi的DBEdit组件位于组件板的Data Controls页上用于编辑数据表当前记录某字段的值 DBEdit组件的主要属性与方法如下主要属性
( )DataSource
用于选择数据源使DBEdit组件通过数据源与数据表连接当DBEdit通过数据源与数据表连接后显示数据表的哪一个字段则是由DataField字段决定的
( )DataField
用于选择数据字段如果DataField设置为TB 则DBEdit用于显示与编辑字段TB 的值
DataSource与DataField是数据界面组件用于选择数据表与字段的最重要的个属性
( )Enabled
当Enabled为True时数据界面组件有效此时组件可用于编辑操作当Enabled为False时数据界面组件无效运行后该组件呈灰色不能用鼠标或键盘对该组件进行操作
( )ReadOnly
当ReadOnly为True时数据只能读不能修改;为False时数据可读可写默认值为False
以上属性也是大多数数据界面组件的共同属性因此在下面的组件介绍中不再重复介绍上述属性
主要方法
( )OnChange
当字段内容发生变化时触发该事件
( )OnClick
用鼠标单击组件触发该事件
( )OnDblClick
用鼠标双击组件触发该事件
( )OnKeyDown
当键按下时触发该事件
( )OnKeyUp
当键松开时触发该事件
( )OnMouseDown
当鼠标按下时触发该事件
( )OnMouseUp
当鼠标松开时触发该事件
lishixinzhi/Article/program/Delphi/201311/24809。
Delphi两个经典数据库控件集详解
Delphi两个经典数据库控件集详解Delphi强大的数据库功能一直是Delphi程序员们的最爱,然而,BDE强大功能的后面,却有太多的限制。
当程序员们绞尽脑汁编出短小精悍的程序而兴高采烈时,他们不得不尴尬的面对发布程序时BDE那几兆大的附加文件。
有没有其他控件,既可以使用Delphi强大的数据库功能而又不要那几兆大的BDE?答案时肯定的,那就是使用第三方控件或者Delphi5的ADO控件。
在这里,我将具体介绍Delphi第三方数据库控件集:DiamondAccess1.7和ODBCExpress5.06。
DiamondAccess控件集使用微软数据访问对象DAO访问数据库。
利用此控件集访问数据库,可以完全摆脱BDE,当然,发布程序时也就无需考虑BDE的麻烦了。
而且,DAO的访问速度比BDE更快。
ODBCExpress控件集使用大家都很熟悉的ODBC访问数据库,只要设置好数据源,就可以访问大部分类型的数据库;而且,使用ODBC接口的程序具有更大的可移植和通用性。
ADO数据库访问控件在Delphi5中已经加入进来,假如要在Delphi4或者更低的版本使用ADO,就必须使用第三方控件,比如:DiamondDAO,同样可以提供强大的更能。
以下,我们通过实例的形式具体介绍DiamondAccess1.7和ODBCExpress5.06的使用,我们将利用这两个控件集实现同样的功能:在DBGrid中列出数据库所有数据,通过输入检索数据。
通过这些实例,我们可以基本了解以下内容:1)Delphi 中应用这两个控件集访问数据库的基本技术;2)发布采用这两个控件集的程序需要注重的问题和基本方法;3)两个控件集的优缺点和下载安装方法;DiamondAccess控件集演示>一、控件说明DiamondAccess是一套高速连接MicrosoftAccess数据库的控件集,包括TDAODatabase,TDAOTable,TDAOQuery和TDAOQueryDef四个控件。
delphi dbeditgrid onsettext -回复
delphi dbeditgrid onsettext -回复题目:Delphi DBEditGrid 的OnSetText 方法详解一、简介Delphi 是一种强大的集成开发环境(IDE),用于创建Windows 应用程序。
在Delphi 中,DBEditGrid 是一个常用的数据录入控件,它可以显示和编辑数据库表的数据。
OnSetText 方法是DBEditGrid 控件的事件处理方法之一,用于在用户输入文本时自定义对数据的处理。
本文将对Delphi DBEditGrid 的OnSetText 方法进行详细讲解。
二、什么是OnSetText 方法OnSetText 是DBEditGrid 控件的一个事件处理方法,它在用户输入文本后触发,该方法的作用是对用户输入的文本进行处理,并将处理后的结果赋值给DBEditGrid 控件所绑定的数据字段。
OnSetText 方法接收一个字符串类型的参数Text,表示用户输入的文本。
三、OnSetText 方法的使用场景OnSetText 方法经常用于对用户输入的文本进行格式化、验证或者转换操作。
通过在OnSetText 方法中编写必要的代码,我们可以自定义对用户输入的文本进行处理,确保数据的有效性。
四、使用OnSetText 方法的步骤1. 打开Delphi 编程环境并创建一个新的窗体应用程序。
2. 在窗体上放置一个DBEditGrid 控件,并在Delphi 的Object Inspector 中设置其DataSource、DataField、ReadOnly 属性等。
3. 在窗体的代码编辑器中找到DBEditGrid 的OnSetText 事件,并双击打开事件处理方法。
4. 在OnSetText 方法中添加代码,对用户输入的文本进行相应处理。
5. 在代码中调用DBEditGrid 的Text 属性,将处理后的结果赋值给该属性。
五、OnSetText 方法的代码示例下面是一个简单的示例代码,演示了如何使用OnSetText 方法对用户输入的手机号码进行格式化处理:procedure TForm1.DBEditGrid1SetText(Sender: TObject; var Text: string);begin去除手机号码中的非数字字符Text := StringReplace(Text, '-', '', [rfReplaceAll]);Text := StringReplace(Text, '(', '', [rfReplaceAll]);Text := StringReplace(Text, ')', '', [rfReplaceAll]);Text := StringReplace(Text, ' ', '', [rfReplaceAll]);将格式化后的手机号码以指定格式重新赋值给Textif Length(Text) = 11 thenText := '(' + Copy(Text, 1, 3) + ') ' + Copy(Text, 4, 4) + '-' + Copy(Text, 8, 4);end;在上述示例代码中,首先通过StringReplace 函数将手机号码中的非数字字符去除,然后根据手机号码的长度,将其以特定格式重新赋值给Text。
Delphi7.0数据库应用教程详解
在编辑窗体中输入相关记录置 图7 数据记录编辑窗口
Delphi 7.0数据库桌面(5)
图9 数据库窗体向导Database Form Wizard
新建一个新工程项目Project1,选择主菜单 中的database(数据库)菜单下的Form wizard
(数据表向导)选项,弹出数据库窗体向导窗 口Database Form Wizard,如图9所示。在Form Options框架中选择Create a simple form选项, 即创建一个简单的表。(第二个选项Create a master/detail form是用来生成由主从表组成的维 护窗体的。);在DataSet Options框架中选择 Create a form using Ttable objects选项,即用 Ttable对象创建一个表,生成的窗体中用 TTable控件来访问数据库。(如果选择第二项 则是用Tquery组件访问数据库。)然后单击 Next按钮,进入下一步向导。
另外还要给数据表建立索引,即定
义关键字。索引分为主索引和次索引两
种。主索引关键字字段中的数据必须惟
一,而且每张数据表中只能建立一个主
索引。而次索引则没有这个限制,在次
索引字段中数据允许重复,且可以建立
多个次索引。
(1)建立主索引的方法
图4 创建数据表对 话框
在图4创建数据表对话框中,将光标移到要建
立主索引字段的Key列下面,双击鼠标左键或
话框
型(Type)时,要鼠标右击,这时会弹
DELPHI 做数据库(数据查询)
六、数据库(数据查询)步骤一:开始---程序---Borland Delphi 6---BDE---Object---New---OK(默认STANDARD)---PATH---设置为含有数据库文件的目录下。
步骤二:向Form1中添加Table组件(BDE组中),DatabaseName---STANDARD1(上一步创建的),TableName---Pza.DBF。
添加DataSource 组件(Data Access组中),DataSet---Table1。
添加DBGrid组件(Data Controls 组中)DataSource---DataSource1。
向Form1中添加5个Edit(依次为Edit1至Edit5),两个用于查询编号,两个用于查询日期,一个用于查询备忘录。
3个Lable组件,用于标示这5个Edit的功能。
1个Button, Caption----筛选。
步骤三:1.Form1--- On Activate:Table1.Open;2. Datasource1---AutoEdit:false;3.Button1:var s:string;begins:='';if edit1.Text<>'' then s:=s+'NO>='+edit1.text+' and ';if edit2.Text<>'' then s:=s+'NO<='+edit2.Text+' and ';if (edit1.Text<>'') or (edit2.Text<>'') then s:=copy(s,1,length(s)-5); if (edit3.Text<>'') or (edit4.Text<>'') thenif s<>'' then s:=s+' and ';if edit3.Text<>'' then s:=s+'DATE>='+edit3.Text+' and ';if edit4.Text<>'' then s:=s+'DATE<='+edit4.Text+' and ';if (edit3.Text<>'') or (edit4.Text<>'') then s:=copy(s,1,length(s)-5); if(edit5.Text<>'') thenbeginif s<>'' then s:=s+' and ';s:=s+'MEMO='''+edit5.Text+'*''';end;table1.Filtered:=false;table1.Filter:=s;table1.Filtered:=true;showmessage(s);end;。
DELPHI 数据库
DELPHI 数据库体系结构图DELPHI一般有两种方式操控数据库:一、BDE模式:一般又分为直接和ODBC两种方式。
如果通过ODBC访问数据库,则需要首先配置ODBC数据源,也可通过BDE自带的数据库驱动程序访问。
但不管采用哪种形式,都需要事先通过BDE ADMINISTRATOR来配置BDE后才能进行访问。
一般情况下,BDE 用于桌面数据库应用程序的开发。
二、OLE DB是微软公司用于取代ODBC的一种数据库共享访问技术,通过这种技术的数据库连接参数非常简单,DELPHI提供了基于这一技术的ADO组件。
一般情况下,ADO用于网络数据库应用程序的开发。
因此,在用DELPHI进行数据库开发时,一般采用ADO技术,而避免BDE方式。
DELPHI中的数据库组件:DELPHI提供的数据库组件分为数据存取组件和数据库控制组件,分别位于组件板的DA TA ACCESS 和DATA CONTROLS页面中。
其中数据库访问组件主要于链接数据库以存取数据。
而数据库控制组件主要把数据存取组件取得的数据集以不同的方式呈现在使用者面前,并允许使用者进行修改,最后可将修改的数据返回数据库。
DELPHI应用程序数据存取透视图如下:据库文件;由TABLE或QUERY连接到数据库中的表,从而生成数据集DATASET;由DATASOURCE连接到DA TASET即TABLE或QUERY生成记录集合RECORDSET;最后再由数据库可视组件连接到记录集,将数据展现在用户面前,从而达到访问数据库数据的目的。
下面就先对ADO常见数据库组件的常见属性分别逐一说明。
ADOCONNECTION:CONNECTSTRING:用于连接数据库的字符串,通常用属性编辑器生成。
也可由代码自动生成。
CONNECTED:确定是否连接到数据库。
前提是连接字符串需正确设置。
KEEPCONNECTION:在未打开数据库时,是否也何持对数据库服务器的连接。
LOGINPROMPT:在应用程序连接数据库时,是否出现登录数据库对话框。
delphi qrdbimage组件用法
Delphi 中的 QRDBImage 组件是在快速报表设计工具中经常用到的一个重要组件。
它主要用于在报表中展示数据库中图片字段的数据。
通过 QRDBImage 组件,可以方便地将数据库中的图片数据显示在报表中,使报表的呈现更加直观和丰富。
在实际开发中,熟练运用QRDBImage 组件可以提高报表的制作效率和质量。
下面将详细介绍Delphi 中 QRDBImage 组件的使用方法。
1. 设置数据源和数据字段需要在使用 QRDBImage 组件的报表中设置数据源和数据字段。
在Delphi 的设计界面中双击 QRDBImage 组件,进入组件的属性编辑界面。
在其中找到 DataField 属性,并填写与图片数据对应的数据库字段名。
选择对应的数据源,并在 DataField 属性中选择数据库表中存储图片数据的字段。
2. 设置数据集接下来,在使用 QRDBImage 组件的报表中设置数据集。
在 Delphi 的设计界面中找到数据集控件,并将其与相应的数据源关联。
确保数据集能够正确读取数据库中的图片数据。
3. 设定图像显示样式在使用 QRDBImage 组件的报表中,可以根据实际需求设定图片的显示样式。
通过设置 QRDBImage 组件的 Stretch 和 Transparent 属性,可以对图片的拉伸和透明度进行调整,从而使图片在报表中呈现出理想的效果。
4. 预览和调试报表在完成上述设置后,可以通过预览功能来查看报表的效果。
在 Delphi 的设计界面中选择报表预览功能,查看 QRDBImage 组件所展示的图片数据是否符合预期。
如发现不符合预期的情况,可以通过调试和修改属性的方式来逐步优化图片的显示效果。
5. 导出报表在 Delphi 中完成对报表的设计和调试后,可以通过导出功能将报表保存为特定格式的文件,用于实际的应用和展示。
通过以上简要介绍,相信大家对 Delphi 中 QRDBImage 组件的基本用法已经有所了解。
Delphi——ADO组件的使用
8.3 TADOCommand组件概述
5. CammandTimeout属性 CammandTimeout属性是一个整型数,指定执行一个命 令的最大允许时间,默认值是30秒。在TADOCommand组 件通过TADOConnection 组件与数据连接的情况下,如果同 时两者指定了CammandTimeout属性,则优先考 TADOCommand组件中设置的值。 6. ExecuteOption属性 指定调用Execute方法时的命令特征。 7. ParamCheck属性 指定在运行时如果SQL命令被改变,是否需要重建 TADOCommand组件的参数列表。 8. Parameters属性 在 SQL 命令中或在存储过程中需要传递参数的时候才 需要设置这个值,并且,在命令类型(CommandType)指 定为cmdText或 cmdStoredProc时,参数才有效。
第8章 ADO组件的使用
本章主要内容: • TADOConnection组件的使用 • TADOCommand组件的使用 • TADODataSet组件的使用 • TADOQuery组件的使用
8.1 TADOConnection组件概述
TADOConnection组件用于建立数据库的连接,该连 接可被多个数据集所共享。 TADOConnection 组件提供的功能: •控制数据库的连接 •控制服务器的注册 •管理事务 •为关联的数据集提供数据库连接 •将SQL命令发送到数据库中 •从数据库中提取数据 8.1.1 TADOConnection 的常用属性 1. Attributes属性 此属性用于设置连接的数据库的自动处理事务的行为 ,它是TXactAttributes类型的集合,包括两个集合元素。
8.1 TADOConnection组件概述
Delphi中的数据库引擎与数据库连接组件
引 擎 ,它 使用 的是 微 软 以 COM 对 象 提供 的
霎固
类I ,因此 T b c、 Pr sn和 T o onn 2】 O j t T est t Cmp et e ie 是类或 组件 的基类 ,与具体 的数据 库连 接管理
无关 。由于T u t C n et n C s m o n c o 是三个连接管理 o i
维普资讯
教育在线 A Z X 。0 A J / I
Dep i 的 数 据 库 引 擎 与 数 据 库 连 接 组 件 lh 中
◎吴 永琢 ( 中国海 洋大学 ,青 岛酒 店 管理 职业技 术学 院 )
摘 要: 本文首 先介 绍了 D lh 中的数据 ep i 库 引擎 ,接着对 D lh 提供 的与数据 库引擎相 e i p 关的数 据库 连接组件 关系进 行 了分析 ,根据分 析 的结果 提 出 了数据库 引 擎无 关 的编 程方 法 , 介绍 了该方 法在设 计通用 数据库 连接 管理组件 中的应用 ,并且介 绍 了通 用数 据库连 接管理组 件 的应 用编码 步骤 。 关键 词:D lh;数据库 引擎 ;数据库 连 ep i
法 ,因此无 法直接 用于连 接管理 ,只有它的 三
图 1 连 接组 件 的继承 关系
在 D lh 40 以前 的版本 中 ,只有 B E ep i . 及 D
一
与 具 体 数 据 库 引 擎 相 关 的 派 生 类 , 即
TBDEC0 e t0n r nn c i Mg 、TADOC n ci n和 on e to
个数据库引擎 , B E Br n 公 司数据库产 D 是 oad l
T SQ LConne i 具 有 公 共 的 父 类 n ct o T u tm o n cin O jc 是所有 V L类的 C s C n et 。T be t o o C 父类 【 ,T estn是 所有需要流化 支持的类 2] Priet s 的父类 ,而 T o p n n 是 所有 V L 件的父 C m o et C 组
DELPHI7组件参考大全
DELPHI7组件参考大全Additional组件页1、TBitBtn 组件:该组件是表面显示位图的位图按钮组件,该组件的行为与Tbutton 组件相同。
虽然一个TBitBtn 组件只能与一个位图相关联,但该位图可以平分为4 个部分,分别在按钮处于弹起、按下、禁止和单机状态时显示。
2、TSpeedButton 组件:该组件是一个按钮,用于执行一个命令。
该组件与Tbutton、Tbitbtn 不同,它不是从窗口组件派生的,因此,没有windows 句柄,不能获得焦点。
但是,该组件具有单机事件,并且能够存储位图。
3、TMaskEdit 组件:该组件用于建立掩码文本编辑框,这种文本编辑框与用Edit 和RichEdit 建立的文本框不同在于规定了文本的格式(即掩码)以避免用户输入非法格式的文本。
4、TStringGrid 组件:该组件是一个字符串表格组件,用于简化字符串与关联对象间的操作。
该组件提供了许多属性来控制表格的外观,同时也提供了许多方法、事件以电子表格的形式响应用户的动作,此外,该组件还将表格中的字符串关联一个对象,这些对象通过字符串封装了一些信息和行为供用户使用。
5、TImage 组件:用TImage 组件在窗体上显示一张图片,用TPicture对象在Picture 属性中指定一个图标、图元文件、位图图像或用户定义的图像。
6、TShape 组件:该组件用于绘制简单的集合图形,如椭圆和正方形等。
该组件引入的属性描述了用于绘制几何图形轮廓的画笔和用于填充的画刷。
如果图形只是TCustomControl 对象的图像的一部分,则应使用组件的Canvas 方法。
7、TBevel 组件:该组件用于建立具有3D 和雕刻效果的直线和方框,该组件表示一个斜角轮廓,用其可创建斜角的盒子、方框或线,斜角可用凸起或凹陷状态显示。
8、TScrollBox 组件:该组件是一个滚动框组件,用于在窗口中建立一个滚动区域。
delphi70数据库连接及数据库感知组件
delphi7 0数据库连接及数据库感知组件delphi7.0数据库连接及数据库感知组件2010-12-21 22:59DP窗体(TDBGRID或TDBNAVIGATOR)---datasource--bde,ado数据库组件---数据库三件套BDE:BDE两组件:ttable和tquery组件用来连接数据库(1)使用TTABLE组件,别名是DBDEMOS数据库的"EMPLOYEE.DB"数据表,单表,||BDE的table1组件属性:databasename:dbdemos;tablename:employee.db;active:true;||data access下的datasource1组件:dataset:table1||data controls组件面板dbnavigator1:属性:datasource:datasource1;||data controls组件面板dbgrid1:属性:datasource:datasouce1;(2)使用query1组件,别名是DBDEMOS数据库的"EMPLOYEE.DB"数据表,单表,||BDE的query1组件属性:databasename:dbdemos;sql:select*from employee.db;active:true;||data access下的datasource1组件:dataset:query1||data controls组件面板dbnavigator1:属性:datasource:datasource1;||data controls组件面板dbgrid1:属性:datasource:datasouce1;(3)一对多关系:使用ttable组件,别名是dbdemos的customer.db和orders.db,(两个tdatasource和两个ttable组件)先完成master表的设定:A.tablel组件:属性:databasename:dbdemos,tablename:cust.db,active:true;datasource1组件:属性:dataset:table1;dbgrid1组件:属性:datasource:datasource1;B.table2:databasename:dbdemos,tablename:order.db,indexname:设成对应到CUST.DB的索引键CUSTNO,MASTERSOURCE:DATASOURCE1,MASTERFIELDS:的.,点选DETAIL FIELDS选项CUSTNO,和MASTER FIELDS的CUSTNO,按下ADD按钮,再按OK.ACTIVE:TRUE;|||DATASOURCE2组件属性:DATASET:TABLE2;|||DBGRID2:DATASOURCE:DATASOURCE2;(4)一对多关系:使用query组件,别名是DBDEMOS的orders.db和ITEMS.DB,先完成master表的设定:A.query1组件:属性:databasename:dbdemos,sql:select*from orders,active:true;datasource1组件:属性:dataset:QUERY1;dbgrid1组件:属性:datasource:datasource1;B.QUERY2:DATAbasename:dbdemos,DATASOURCE:DATASOURCE1,SQL:SElect*from items where orderno=:orderno,再将DATASOURCE:DATASOURCE,ACTIVE:TRUE;|||DATASOURCE2组件属性:DATASET:QUERY2;|||DBGRID2:DATASOURCE:DATASOURCE2;ADO组件的应用:(一)使用TADODATASET组件ADO面板的TADOConnection::connectionstring属性:||ADO组件的ADODataset1:connection属性:adoconnection1;commandtype属性:cmdtext;commandtext属性:select*from数据表,ACTIVE属性:TRUE;||DATASOURCE1组件属性:dataset:adodataset1;|||dbgrid1组件属性:datasource:datasource1;dbnavigator1组件属性:datasource:datasource1;(二)使用TADOTABLE组件ADO组件的TADOConnection::connectionstring属性:|||ADOTABLE1组件属性connection:adoconnection1,属性tablename:选数据表;active:true;|||datasource1组件:属性:dataset:adotable1;|||dbnavigator1:datasource:datasource1;dbgrid1:datasource:datasource1;(三)使用tadoquery组件ADO组件的TADOConnection::connectionstring属性:|||ADOquery1组件属性connection:adoconnection1,属性sql:select*from数据表;active:true;|||datasource1组件:属性:dataset:adoquery1;|||dbnavigator1:datasource:datasource1;dbgrid1:datasource:datasource1;ado一对多关系:orders和items数据表(1)使用tadotable组件:adotable1:connectionstring:db.mdb数据库,tablename:order数据表,active:true,datasource1组件:dataset:adotable1;dbgrid1:datasource:datasource1;||adotable2:connectionstring:mdb数据库;tablename:items数据表;mastersource:datasource1,masterfields:按.,点选detail fields的orderno及master fields的orderno后,按add,再按下OK。
Delphi数据库知识adotable
Delphi数据库知识_数据库开发(1)Delphi数据库处理第一节BDE、ADO、InterBase和dbExpressDelphi中处理数据库主要有两种方法,也就是BDE、ADO,从Delphi 6.0开始还加入了一种dbExpress方法。
另外,Delphi还提供了专门处理Borland 公司自己的数据库产品InterBase 数据库的专门的方法。
BDE(Borland Databas Engine),是Delphi中最古老的技术,从delphi 2.0加入BDE 技术以后,一直是Delphi处理数据库的事实上的标准。
BDE 是一个基于驱动程序的体系结构,每一种数据格式或数据源都有一种驱动程序来驱动相近的数据源。
BDE 可以很好的支持现在最流行的ODBC API方法,ODBC是一种C/C++ 应用程序编程接口(API ),无论是对任何一种客户/ 服务器关系型数据库管理系统(RDBMS ),还是最流行索引顺序访问方法(ISAM)数据库(Jet、Foxpro),都能很好的访问。
同时,由于BDE 的驱动程序主要直接来自于第三方开发商,所以,对于像Oracle这些非微软的数据库,执行效率上比较高。
正是这些特点,使BDE 技术还是得到了很多数据库开发程序员的欢迎。
ADO 技术是微软提出来的处理关系型数据库和非关系型数据库的新技术,它基于微软被称为OLE DB的数据访问模式,它是专门为了给大范围商业数据源提供访问而设计的,包括传统的关系型数据表、电子邮件系统、图形格式、Internet资源等。
ADO 所需内存更少,更适合大流量和大事务量的网络计算机系统。
ADO 顶层有三个对象:Connection、Command、Recordset。
Connection用以指定数据源,建立和数据源的连接。
Command 对象用以对数剧源执行指定的命令,可以接受SQL 语句,表和存储过程的名称,执行SQL 查询,更新数据,插入纪录等。
delphi ttable 用法
delphi ttable 用法Delphi TTable 用法简介Delphi 是一种强大的编程语言,广泛应用于Windows平台的软件开发。
TTable 是Delphi 中的一个组件,用于访问和操作数据库表格。
它提供了简单易用的接口,方便开发人员进行数据处理。
TTable 组件的主要功能是允许开发人员通过程序对数据库表格进行增删改查操作。
下面将对 TTable 组件的常见用法进行介绍。
1. 连接数据库在使用TTable 组件之前,我们首先需要在Delphi IDE 中建立与数据库的连接。
通过设置 TTable 组件的 DatabaseName 属性来指定连接的数据库名称,同时设置TableName 属性来指定要操作的表格名称。
2. 数据查询TTable 组件提供了灵活的查询功能,可以根据特定的条件筛选出所需的数据。
我们可以使用 IndexName 属性来指定索引,以提高查询效率。
通过设置 Filter 属性,可以定义条件来过滤数据。
若需要进行多个条件的组合查询,可以使用 Filtered 属性,并编写相应的过滤表达式。
3. 数据排序通过设置 IndexFieldNames 属性,我们可以对数据进行排序操作。
该属性需要指定一个或多个字段名,用逗号或分号分隔。
设置 SortType 属性可以实现按升序或降序进行排序。
4. 数据修改使用 TTable 组件可以对表格中的数据进行修改操作。
调用 Edit 方法可以进入编辑状态,修改数据后调用 Post 方法来保存修改。
还可以使用 Insert 方法插入新的记录,使用 Delete 方法删除记录。
5. 数据导航TTable 提供了多种方法来实现数据在不同记录之间的导航。
使用 First、Next、Prior 和 Last 方法可以分别前进到第一条记录、下一条记录、上一条记录和最后一条记录。
使用 Locating 属性可以定位到指定的记录位置。
总结:通过使用 Delphi TTable 组件,开发人员可以方便地对数据库表格进行数据操作。
数据库组件介绍(Delphi)
数据库组件介绍(Delphi)在本讲及下⼀讲中将为读者介绍我们程序没有使⽤的数据组件,并简单介绍⼀下它们的⽤途,有些给出了应⽤⽰例。
需要说明的是,虽然在我们的程序中没有⽤到,并不表明这些组件不重要,有些还是经常要⽤的。
⼼铃不可能详细讲解这些数据库组件,主要根据⾃⼰的经验给出⼀些使⽤技巧、注意事项等等。
1 Session组件。
它提供应⽤程序中数据库的有关信息,在单机数据库编程中不显式地使⽤它,这是因为每个数据库应⽤程序运⾏时,Delphi将⾃动创建⼀个缺省Session组件,⽤户可在程序中使⽤这个缺省的Session组件,⽽没有必要在设计时设置⼀个Session组件。
Table、Query等组件的属性中有⼀个SessionName属性,缺省为“Default”,这就是缺省的Session组件。
⽐较常⽤的是⽤它的GetTableNames⽅法,在⼀些查询有时需要⽤户选择数据库中的数据表名称列表。
⽐如在列表框中列出我们的数据库别名lklb中所有的数据表名称,代码如下(窗体上要有激活的数据集组件并指明了数据库别名):procedure TForm1.Button1Click(Sender: TObject);var MyStringList :TStringList;beginMyStringList := TStringList.Create;trySession.GetTableNames('lklb', '',False, False, MyStringList);ListBox1.Items := MyStringList;finallyMyStringList.Free;end;end;GetTableNames⽅法的语法如下,语法:Session.GetTableNames(DataBaseName,Pattern,Extensions,SystemTables,List)。
delphi dbgriddrawcolumncell的参数
delphi dbgriddrawcolumncell的参数摘要:1.引言2.Delphi数据库组件简介3.DBGrid控件的作用4.DrawColumnCell事件的作用5.DrawColumnCell事件的参数6.使用DrawColumnCell参数的示例7.总结正文:Delphi是一款功能强大的编程语言,广泛应用于Windows平台的软件开发。
在Delphi中,数据库组件是非常重要的组成部分,它们可以帮助开发者轻松地处理各种数据库操作。
DBGrid控件是Delphi中常用的数据库组件之一,它允许用户以网格视图方式显示数据库中的数据。
DrawColumnCell事件是DBGrid控件的一个重要事件,它允许开发者自定义单元格绘制方式。
当DrawColumnCell事件被触发时,Delphi会调用与当前单元格相关联的自定义函数,该函数可以处理绘制单元格所需的任何操作。
DrawColumnCell事件的参数主要包括以下几个:1.Column:表示当前绘制单元格的列。
此参数可以用来区分不同列的绘制操作。
2.Row:表示当前绘制单元格的行。
此参数可以用来区分不同行的绘制操作。
3.Rect:表示当前绘制单元格的位置和大小。
此参数可以用来定位绘制操作的位置。
4.State:表示当前绘制单元格的状态。
此参数可以用来区分单元格的激活、选中、未选中等状态。
5.CellType:表示当前绘制单元格的类型。
此参数可以用来区分不同类型的单元格,如数据单元格、标题单元格等。
6.Style:表示当前绘制单元格的样式。
此参数可以用来设置单元格的背景色、边框样式等。
使用DrawColumnCell事件的参数可以帮助开发者实现各种自定义的绘制操作。
例如,可以利用DrawColumnCell事件为数据单元格添加背景颜色,或者为选中的单元格添加边框样式。
下面是一个简单的示例:```pascalprocedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;const Rect: TRect; Column: TColumnIndex; Row: TGridRow;State: TGridDrawState);beginif (Column = 1) and (Row = 1) thenbeginCanvas.Brush.Color := clRed;Canvas.FillRect(Rect);end;end;```总之,DrawColumnCell事件是DBGrid控件中一个非常实用的功能,通过自定义DrawColumnCell事件的处理函数,开发者可以根据需要实现各种个性化的绘制操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Delphi数据库处理组件BDE、ADO、InterBase和dbExpress详细说明第一节BDE、ADO、InterBase和dbExpressDelphi中处理数据库主要有两种方法,也就是BDE、ADO,从Delphi6.0开始还加入了一种dbExpress方法。
另外,Delphi还提供了专门处理Borland公司自己的数据库产品InterBase数据库的专门的方法。
BDE(Borland Databas Engine),是Delphi中最古老的技术,从delphi2.0加入BDE技术以后,一直是Delphi处理数据库的事实上的标准。
BDE是一个基于驱动程序的体系结构,每一种数据格式或数据源都有一种驱动程序来驱动相近的数据源。
BDE可以很好的支持现在最流行的ODBC API方法,ODBC是一种C/C++应用程序编程接口(API),无论是对任何一种客户/服务器关系型数据库管理系统(RDBMS),还是最流行索引顺序访问方法(ISAM)数据库(Jet、Foxpro),都能很好的访问。
同时,由于BDE的驱动程序主要直接来自于第三方开发商,所以,对于像Oracle这些非微软的数据库,执行效率上比较高。
正是这些特点,使BDE技术还是得到了很多数据库开发程序员的欢迎。
ADO技术是微软提出来的处理关系型数据库和非关系型数据库的新技术,它基于微软被称为OLE DB的数据访问模式,它是专门为了给大范围商业数据源提供访问而设计的,包括传统的关系型数据表、电子邮件系统、图形格式、Internet资源等。
ADO所需内存更少,更适合大流量和大事务量的网络计算机系统。
ADO顶层有三个对象:Connection、Command、Recordset。
Connection用以指定数据源,建立和数据源的连接。
Command对象用以对数剧源执行指定的命令,可以接受SQL语句,表和存储过程的名称,执行SQL查询,更新数据,插入纪录等。
Recordset对象表示的是来自表或命令执行结果的记录全集,操纵来自提供者的几乎所有数据。
由于ADO技术的迅速普及,从Delphi5.0开始,加入了ADO技术的模块,并逐步成为Delphi数据库设计的主流。
但是,和VB的ADODC相比,它还是有所不同的,在数据绑定上,它更多的吸收了BDE的特点,以做到和原来的程序兼容,同时,它又可以接受标准ADO技术的各种属性和方法,在接受这些属性和方法时,它是和数据绑定控件脱离的,当然从某种意义上来说,这种方案提高了执行效率,给设计人员以更多的选择。
dbExpress是Delphi6.0加入的最新的数据库模块,它不使用缓存,可以快速浏览大量的数据,但是,不使用缓存就不能更改,所以它的标准方式是只读的。
它一个重要的特点是交叉平台,可以和Linux数据库连接,速度相当快。
下面的讨论,将以ADO技术为主线,最后再说明BDE和dbExpress的应用方式。
Top第二节ADO面板的主要组件ADO面板一共有7个组件:ADO组件主要用途相似BDE组件ADOConnection主要用于建立数据库的连接Database ADOdataSet ADO提取和操作数据库的主要数据集,可以直接连接到数据库,也可以通过ADOConnection连接到数据库TableADOtable主要用以操作和提取单个基表的数据,可以直接连接到数据库,也可以通过ADOConnection连接到数据库QueryADOquery通过SQL语言提取数据,其连接数据库的方式和前两种一样StoredProc ADOStoredProc这个组件专门用于运行数据库中的存储过程ADOCommand该组件用于运行一些SQL命令,这个组件可以和支持数据集的组件一起使用,也可以直接从一个基表中提取一个数据集RDSConnection一个进程或一台计算机传递到另一个进程或计算机的数据集合●ADOConnection组件用Execute方法执行命令●ADOCommand组件调用Execute方法直接执行SQL命令●ADOTable组件调用Open方法执行命令●ADOQuery组件调用Open方法或ExecSQL方法执行命令为了连接数据绑定控件,上述组件往往要和处于Data Access中的Datasource配合使用。
Top第三节ADOtable组件ADOtable、ADOdataSet、ADOquery和ADOStoredProc都继承同一个父类TCustomADODataSet,所以,在属性事件和方法上有很多相似的地方,但它主要是针对数据库中的表进行操作。
ADO-〉ADOtable属性:Name''控件名''ConnectionString''连接字符串''可以通过点击右边的按钮,通过向导建立数据源。
有时候需要知道相对路径,可以用下面的方法找到程序当前的路径:tpath:=ExtractFilepath(Application.Exename);文件名:=Tpath+''..\data\Test.mdb''表明数据库在当前程序上一层的Data文件夹下。
TableName''表名''Active true这就激活了数据源,为了和绑定控件联系,要增加一个DadaSource控件。
事实上,所有的绑定控件都是和DadaSource联系。
Data Access-〉DadaSource属性:Dataset=加入绑定控件:Data Controls-〉DBgrid(表格)属性DadaSource=''''DBNavigator(导航条)属性DadaSource=''''运行一下可以看出关系下面介绍一下ADOtable的一些重要的方法,这些方法大部分和Table是兼容的。
为了便于叙述,ADOtable控件的Name定为ADOtable11)移动指针第一个:ADotable1.First;最后一个:st;下一个:ADotable1.Next;前一个:ADotable1.Prior;2)从字段中取出数据通过如下方法可以访问字段的值●ADOtable1.FieldValues[‘字段名’]●ADOtable1.Fields[索引值].(asString{asInteger,asFloat})●Adotable1.fieldbyname(‘字段名’).(asString{asInteger,asFloat})Top在读写字段的时候,又是根据需要可以加上强制类型转换例如:Edit1.text:=ADOtable1.Fields[0].AsString;用下面的方法可以去除字段的性质:ADOtable1.fielddefs[索引值].name;字段名ADOtable1.fielddefs[索引值].Size;字段大小ADOtable1.fielddefs[索引值].Datatype;字段属性3)修改数据:修改数据的时候,需要先建立EDIT方法,然后用Post方法才能真正的写入。
ADOtable1.edit;ADOtable1.FieldValues['姓名']:='王秀琴';ADOtable1.post;4)增加一条空纪录:ADOtable1.append;或者ADOtable1.Insert;新增纪录也可以用如下方法,在新增纪录的同时输入数据ADOtable1.appendRecord(xxx,xxx,xxx,....);5)删除当前纪录:ADOtable1.delete;如果在ADOtable1的OnBeforeDelete方法中写下:if messagedlg(''确实要删除吗?'',mtinformation,[mbyes,mbno],0)=mrno then abort();可以实现删除前的提示。
6)过滤可以用如下的方法实现数据的过滤在ADOtable1的OnFilterRecord方法中写下:Accept:=(条件);或ADOtable1的filter属性进行设置然后ADOtable1.filtered:=true;为实现过滤。
ADOtable1.filtered:=false;为解除过滤。
Top 7)指针在文件的头尾指针在最后一条记录之后ADOtable1.Eof指针在第一条记录之前ADOtable1.Bof如此可以实现对数据库的遍历form1.ADOtable1.first;while not ADOtable1.eof doBegin.......ADOtable1.next;End;记录当前位置的显示☐RecordCount记录总数☐RecNo当前记录号8)此外,ADOtable组件还继承了ADO中的RecordSet对象几乎全部属性和方法,简述如下:with adoTable1.Recordset dobegin//属性PageSize一页所包含的记录数PageCount数据的页数AbsolutePage;当前记录所在页AbsolutePosition;当前记录的序号位置BOF;指针在第一个记录之前EOF;指针在最后一个记录之后//方法AddNew fieldList,Values;创建新记录,其中fieldList为用数组表示的字段名集,Values为用数组表示的数据集。
Cancel;取消上一步所作的修改Update Fields,Values;保存对当前记录所作的修改Delete;删除当前记录Move(n);移动n条记录MoveFirst;移动到第一条纪录MoveLast;移动到最后一条纪录MoveNext移动到下一条纪录MovePrevious移动到上一条纪录Requery;通过从新执行对象所基于的查询,以更新RecordSet对象中的数据。
Topend;使用Recordset对象来处理数据集的数据,会发现数据帮定控件的指针一般不会跟着移动,这实际上给设计者提供了另一个在后台快速处理数据的方法。
附录:关于TActionList控件的使用在Standard面板,提供了一个TActionList控件,它集中了大部分按钮的使用方法,可以简化按钮的设计。
方法:调入TActionList,双击,可以看到一个面板,右键-〉New Standard Action选择Dataset下的适当的控制,可以选择多个。
以后加入的开关,只要在属性Action中选择适当的项目就可以了,不需要专门编程,实例见“ActionList应用”。
第四节ADOQuery组件和ADOtable组件一样,ADOquery继承了同一个父类TCustomADODataSet,所以,上面说到的ADOtable属性事件和方法基本上是通用的,但它主要是针对数据库中的SQL命令进行操作。