数据库组件
⑴ 什么是数据库生成数据的基本组件
一、Session组件。它提供应用程序中数据库的有关信息,在单机数据库编程中不显式地使用它,这是因为每个数据库应用程序运行时,Delphi将自动创建一个缺省Session组件,用户可在程序中使用这个缺省的Session组件,而没有必要在设计时设置一个Session组件。
二、DBNavigator组件。DBNavigator组件主要用于为用户操作数据集中的记录提供简捷的控制按钮。用户单击其中的按钮就可完成移动记录指针、插入、删除、修改、保存、刷新记录等功能。
三、DBtext组件。相当于标签(Label)组件,只不过它用于显示数据库中的字段值,其显示内容随记录指针的变化而变化。它的DataField属性指定要显示内容的字段名称。
四、DBEdit组件。用于显示、修改数据表字段值。由于DBEdit一般用来修改或添加新记录使用,所以其ReadOnly属性一般设定为False,若设定为True则不可修改字段内容。
⑵ 数据库访问组件是什么
我也是刚刚学习delphi,以delphi7为例,access格式,ado连接,用户要想显示数据库里的行数据,先添加打开数据库的控件,也叫数据访问组件,然后添加一个连接组件(DataSource),最后添加一个显示/浏览控件,也叫数据控制组件,每个控件都是环环相扣的,
⑶ 什么是针对利用数据库组件方式连接数据库
就是直接用数据库组件连库,比如:ADOCONNECTION组件。也有直接在代码中连接,通过设置 ini 文件对servername server ip 进行连接。
下面就是第二种情况:
var
ini: TIniFile;
path,ServerIP,ServerN,ServerPost,SGUID: string; {ini 文件路径}
begin
path := ExtractFilePath(Application.Exename)+'server.INI';
ini := TIniFile.Create(path); {ini 对象建立需要文件路径参数, 如果缺少路径会默认Windows目录}
ServerIP:= ini.ReadString('SYSTEM','ServerIP',''); {最后一个参数是默认值}
ServerN:= ini.ReadString('SYSTEM','DataBase','');
ServerPost:= ini.ReadString('SYSTEM','PWD','');
SGUID:= ini.ReadString('SYSTEM','UserNamse','');
with dm3.ADO_con do
begin
connected:=false;
connectionstring:='Provider=sqlOLEDB.1;Persist Security Info=True;User ID='+SGUID+';Password='+ServerPost+';Initial Catalog='+ServerN+';Data Source='+ServerIP+'';
try
connected:=true;
except
application.MessageBox('数据库联接出错','提示信息',mb_ok+mb_iconinformation);
halt;
exit;
end;
end;
end;
⑷ 数据库组件介绍
在本讲及下一讲中将为读者介绍我们程序没有使用的数据组件,并简单介绍一下它们的用途,有些给出了应用示例。需要说明的是,虽然在我们的程序中没有用到,并不表明这些组件不重要,有些还是经常要用的。心铃不可能详细讲解这些数据库组件,主要根据自己的经验给出一些使用技巧、注意事项等等。
1 Session组件。它提供应用程序中数据库的有关信息,在单机数据库编程中不显式地使用它,这是因为每个数据库应用程序运行时,Delphi将自动创建一个缺省Session组件,用户可在程序中使用这个缺省的Session组件,而没有必要在设计时设置一个Session组件。Table、Query等组件的属性中有一个SessionName属性,缺省为“Default”,这就是缺省的Session组件。比较常用的是用它的GetTableNames方法,在一些查询有时需要用户选择数据库中的数据表名称列表。比如在列表框中列出我们的数据库别名lklb中所有的数据表名称,代码如下(窗体上要有激活的数据集组件并指明了数据库别名):
procere TForm1.Button1Click(Sender: TObject);
var MyStringList :TStringList;
begin
MyStringList := TStringList.Create;
try
Session.GetTableNames('lklb', '',False, False, MyStringList);
ListBox1.Items := MyStringList;
finally
MyStringList.Free;
end;
end;
GetTableNames方法的语法如下,
语法:Session.GetTableNames(DataBaseName,Pattern,Extensions,SystemTables,List)。
参数说明:
DataBaseName——数据库名称。
Pattern——数据表类型,用来限制返回哪种类型的数据表,比如是.DB还是.DBF,如果为空则返回所有类型数据表,可以用通配符。
Extentions——布尔型变量,控制返回的数据表是否有扩展名。
SystemTables——对一些数据库来说有系统数据表,若设定为True则返回的数据表名称包括系统数据表。一般设定为False 。
List—保存数据表名称的字符串行表。
2 DBNavigator组件。DBNavigator组件主要用于为用户操作数据集中的记录提供简捷的控制按钮。用户单击其中的按钮就可完成移动记录指针、插入、删除、修改、保存、刷新记录等功能。它的 VisibleButtons属性可指定哪些按钮显示,通过设置Hints属性可以为各控制按钮设置其他的动态提示信息,用户自己设置的动态提示信息会覆盖原来的提示信息,对我们来说提示信息写成中文比较好。
3 DBtext组件。相当于标签(Label)组件,只不过它用于显示数据库中的字段值,其显示内容随记录指针的变化而变化。它的DataField属性指定要显示内容的字段名称。
4 DBEdit组件。用于显示、修改数据表字段值。由于DBEdit一般用来修改或添加新记录使用,所以其ReadOnly属性一般设定为False,若设定为True则不可修改字段内容。
5 DBMemo组件。主要用于显示和编辑数据库表中的大二进制(BLOB)类型的字段值,一般用来处理备注型字段的值,能够显示多行文本。MaxLength属性设置该属性的值用于限制用户向DBMemo 组件中输入字符的个数。若设置该值为0时,表示输入字符的个数没有限制。注意:在运行过程中,用户对DBMemo组件中显示的文本信息是不能够进行剪切、拷贝和粘贴操作的。由于DBMemo组件中包含着大量的文本信息,当指针移动时要更新显示其中的信息需要花费很多的时间,用户可以通过AutoDisplay属性来控制是否自动显示表中的备注型字段。当AutoDisplay设置为False时,在DBMemo组件中只显示其对应表中的字段名而不显示字段中的文本信息,用户如果想浏览字段中的文本信息,用鼠标左键双击DBMemo组件的内部即可;当设置AutoDisplay属性为True时,在DBMemo组件中会自动地显示其对应数据库表中的字段值。
6 DBImage组件。与DBMemo组件类似,它是用来显示和编辑数据库表中的BLOB类型的位图图像字段的。DBImage的ReadOnly属性值若设定为False,就允许用户对位图图像进行编辑,如将图像剪切或拷贝到剪帖板上或从剪帖板上粘帖到DBImage组件中等操作。
7 DBListBox组件。用来当用户修改字段值时显示一个字段值列表供用户选择。在运行过程中,用户单击其中的可选项可以为DBListBox 组件对应的字段赋值,用户不能自己从键盘上输入一个列表框中不存在的字段值。
8 DBComboBox组件。可以认为它是DBEdit组件和DBListBox组件的合成,DBComboBox的可选项也是在设计阶段由程序设计人员设计的。当用户修改当前记录中的字段时,可以直接输入新的字段,也可以打开下拉式列表框选择其中的一个可选项(受Style属性的限制)。Sorted属性决定列表框中的可选项是否按字母的排列顺序排序。 技巧:DBComboBox组件和ComboBox组件有类似的智能查找功能:当用户在编辑框中输入一个字符或汉字后,打开下拉框,会自动移到与第一个字符相同的选项处,依次下去,用户一般只需输入少量的几个字符就可以找到相应的选项。这在选项比较多的情况下非常有用。当然,Sorted属性必须设定为True,否则可能会找不到所需的选项。
9 DBLookupListBox组件。该组件提供多个可选项,但这多个可选项是从相关的其它数据库表中读取的,不是设计时手工输入的,这是其特点。ListSource属性指明DBLookupListBox组件列表选项的数据源,这是非常重要的,否则DBLookupListBox组件不知道从何处去获取数据充填列表框。 一般放置DataSource组件和其相连。ListField属性指定要充填列表框的数据字段,可以一次列出多个字段的内容,但只能选择一个字段的内容去给和DBLookupListBox组件指定的字段赋值,所以必须指定关键字段KeyField。 KeyField属性 和ListField属性相配合使用,指明选择列表中的哪个字段内容为DBLookupListBox组件指定的字段(DataField属性指定)赋值,如果列表中只有一个字段,那么KeyField和ListField应相同。KeyField 属性必须指定,此属性允许一次设定多个字段,每个字段之间用分号隔开即可。使用多个列表字段的好处在于,用户在选择KEY字段内容的同时,可以了解有关的其他信息。
10 DBLookupComboBox组件。此组件结合了DBEdit组件和DBLookupListBox组件的功能,用户可以直接向该组件中输入字段值,也可以从下拉式列表框中选择一个可选项,只是下拉式列表框中的可选项是从相关的其他数据库表中读取来的。其属性设置可参考前面的DBComboBox和DBLookupListBox组件。
注意:上面的四个组件DBListBox、DBLookupListBox 、DBComboBox、DBLookupComboBox只能与Table组件配合使用,而不能与Query组件配合使用。
11 DBCheckBox组件。一般用来和数据表中布尔型字段相连。这样一来用户就不必要再输入True/False了,用起来比较方便。它和CheckBox组件的区别在于:DBCheckBox组件必须和数据表中的布尔型字段相连,而CheckBox的数值在程序中给出。
12 DBRadioGroup组件。和某个字段相连,此字段值只能为DBRadioGroup组件的固定数值之一(由用户选择),用户只能选择一个选项。其Items属性双击可打开选项名称编辑器,在这里输入选项的标题。&#118alues属性双击打开选项对应的数据编辑器,这里输入的数据和前面的Items对应,当用户选择第一个选项时,就会从&#118alues列表选择第一个数据充填到相应的字段。注意:如果没有给出&#118alues属性,那么Items标题就作为数据传递给相应的字段。
13 DBRichEdit组件。和DBEdit组件是一样的,只不过它连接的字段必须是RichText文本格式。DBRichEdit组件没有提供对RichText文本的格式化功能,要想修改文本格式应用程序必须自己来做。当文本格式变化而不是文本本身改变时,应用程序必须明确地将数据源控件的Edit属性置为True,否则无法保存变化后的结果。
14 DBCtrlGrid组件。是很有趣的一个组件,它允许同时开多个面板窗口对记录进行显示、修改,而且这些记录是不相同的,是连续的几个记录(用户设定),用户可同时对多个记录进行修改。ColCount属性指定有几列,RowCount属性指定有几行。Orientation属性有两个值供选择: GoHorizontal—滚动条出现在水平方向,GoVertical—滚动条出现在垂直方向。使用用方法:放置一个DBCtrlGrid组件后,在其“活动”面板(即图中表面光滑没有条纹的左上角面板)中放置数据浏览组件如DBEdit等。只能在活动面板上放组件,其它面板无法放置,运行后每个面板上都会有和活动面板相同的界面。再通过ColCount、RowCount来设定面板的行列数,用Orientation属性设定好滚动条的位置就可以使用了。注意:在滚动条移动时或在面板之间转移焦点时都会自动保存数据。滚动条两端的箭头每按一次和在滑块与箭头之间的空白处单击鼠标移动的记录数是不一样的。前者移动一列或一行,后者移动一个屏幕的记录数。
15 DBChart组件。和Chart组件几乎完全一样,只不过是多了一个功能,就是从数据表中获得数据来制做图形。使用方法:在界面中放置数据集、数据源组件后,放置DBChart组件,双击打开设定界面,和Chart组件不同之处在于在Series选项下,DataSource选项下拉列表中有一项为DataSet,选中后下面会出现数据表选择项,然后在Lables、X、Y中可选择相应的数字字段用来做图。
技巧之一:在DBGrid 中实现类DBComboBox列表方法
要实现的功能:在DBGrid网格中输入字段时,单击字段可出现一个下拉列表(类似于DBComboBox),用户可从中选择需要的字段内容,列表框中是固定的几个选项如男、女等。
实现方法举例:假如数据表中有一个“性别”字段,我们让这个字段具有下拉列表功能。在窗体上放置Table、DataSource、DBGrid组件各一个,将三者搭配起来,不用多讲吧。 双击DBGrid1, 在弹出的Editing DBGrid1.Columns窗口中,单击Add all Fields 按钮, 将Table1的所有字段添加到DBGrid1中。在Editing DBGrid1.Columns窗口,单击选择一个字段如“性别” ,在Object Inspector窗口中, 单击PickList属性后的省略号,在Strings list editor窗口中输入两行,分别为“男”、“女” ,关闭Strings list editor窗口。 将Table1的Active属性设定为True,然后运行程序,鼠标单击DBGrid1中某个记录的性别字段,将会出现一个下拉列表,列表中选项为“男”、“女”,从中选择一个就可以了,也可以手工输入字段内容
技巧之二、在DBGrid 中实现类DBLookUpComboBox列表的方法。
技巧一中的方法适用于选项比较少的字段的表格输入,如果有上千种商品名称,手工输入显然是不合适的,这时我们使用查找字段来实现。下拉列表的内容来自另外一个数据表的相应字段值,比如来自事先制做好的商品名称数据表。
实现方法:在上面例子的基础上,再添加一个数据集组件Table2,设定其table属性为商品名称数据表。双击Table1, 在弹出的Form1.Table1窗口中,鼠标右键单击弹出快捷菜单,选择 Add All Fields菜单项,将所有的字段添加,也可选择部分字段,单击“OK”按钮返回。在Form1.Table1窗口中,单击鼠标右键,从快捷菜单中选择“New field”,在“New field”窗口中,添加一个新的查找字段,设定其Name属性如“spmc”,类型为String。选择其“Field Type”为“LookUp”。在“Field Definition”中设定如下:Key Field选择“商品名称”,此字段是一汉字为字段名的字段,是Table1中的字段。在DataSet中选择“Table2”,在LookUp keys中选择spmc,此字段的内容是商品名称,是Table2中的字段。Result Field选择 spmc。设定好上述选项后,单击“OK”按钮返回Form1.Table1窗口。在Form1.Table1窗口中,鼠标单击选择“商品名称”字段,在Object Inspector 窗口中设定其Visible属性为False。为的是让新增的查找字段spmc来代替它。在Form1.Table1窗口中,鼠标单击选择“spmc”字段,在Object Inspector 窗口中设定其DisplayLabel属性为“商品名称”,让其代替“商品名称”字段。将Table1的Active属性设定为True,然后运行程序,鼠标单击DBGrid1中某个记录的商品名称字段,将会出现一个下拉列表,列表中选项为所有的商品名称,这些药品名称来自Table2的数据表,但不能手工输入商品名称。
上面两种方法的不同之处在于:用PickList属性设置的下拉列表,在DBGrid中可手工输入下拉列表中没有的数值,适用于较少的选择项。用查找字段的方法得到的下拉列表在DBGrid中不能手工输入下拉列表中没有的数值,适用于较多的选择项
⑸ 与数据库相关的组件主要有哪些简述这些组件的属性和方法以及它们的使用方法。
以SQL为例BDE(Borland Databas Engine), 是中最古老的技术,从 2.0加入BDE
技术以后,一直是处理数据库的事实上的标准。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 技术的迅速普及,从
5.0 开始,加入了ADO 技术的模块,并逐步成为数据库设计的主流。但是,和VB的ADODC 相比,它还是有所不同的,在数据绑定上,它更多的吸收了BDE
的特点,以做到和原来的程序兼容,同时,它又可以接受标准ADO
技术的各种属性和方法,在接受这些属性和方法时,它是和数据绑定控件脱离的,当然从某种意义上来说,这种方案提高了执行效率,给设计人员以更多的选择。
dbExpress 是
6.0加入的最新的数据库模块,它不使用缓存,可以快速浏览大量的数据,但是,不使用缓存就不能更改,所以它的标准方式是只读的。它一个重要的特点是交叉平台,可以和Linux
数据库连接,速度相当快。
⑹ SQL数据库的逻辑组件及其主要功能
服务器组件 说明
SQL Server 数据库引擎
数据库引擎包括 数据库引擎(用于存储、处理和保护数据的核心服务)、复制、全文搜索以及用于管理关系数据和 XML 数据的工具。
Analysis Services
Analysis Services 包括用于创建和管理联机分析处理 (OLAP) 以及数据挖掘应用程序的工具。
Reporting Services 1,2
Reporting Services 包括用于创建、管理和部署表格报表、矩阵报表、图形报表以及自由格式报表的服务器和客户端组件。Reporting Services 还是一个可用于开发报表应用程序的可扩展平台。
Notification Services
Notification Services 是一个平台,用于开发和部署将个性化即时信息发送给各种设备上的用户的应用程序。
Integration Services
Integration Services 是一组图形工具和可编程对象,用于移动、复制和转换数据。
1Reporting Services 的安装需要 Internet 信息服务 (IIS) 5.0 或更高版本。
2 Reporting Services 的报表设计器组件需要 Microsoft Internet Explorer 6.0 Service Pack (SP) 1。
客户端组件 说明
连接组件
安装用于客户端和服务器之间通信的组件,以及用于 DB-Library、ODBC 和 OLE DB 的网络库。
管理工具 说明
SQL Server Management Studio 1
SQL Server Management Studio (SSMS) 是 Microsoft SQL Server 2005 中的新组件,这是一个用于访问、配置、管理和开发 SQL Server 的所有组件的集成环境。SSMS 将 SQL Server 早期版本中包含的企业管理器、查询分析器和分析管理器的功能组合到单一环境中,为不同层次的开发人员和管理员提供 SQL Server 访问能力。
SQL Server 配置管理器
SQL Server 配置管理器为 SQL Server 服务、服务器协议、客户端协议和客户端别名提供基本配置管理。
SQL Server Profiler
SQL Server Profiler提供了图形用户界面,用于监视数据库引擎实例或 Analysis Services 实例。
数据库引擎优化顾问
数据库引擎优化顾问可以协助创建索引、索引视图和分区的最佳组合。
⑺ 2. 与数据库相关的组件主要有哪些简述这些组件的属性和方法以及它们的使用方法。
以SQL为例BDE(Borland Databas Engine), 是中最古老的技术,从 2.0加入BDE 技术以后,一直是处理数据库的事实上的标准。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 技术的迅速普及,从 5.0 开始,加入了ADO 技术的模块,并逐步成为数据库设计的主流。但是,和VB的ADODC 相比,它还是有所不同的,在数据绑定上,它更多的吸收了BDE 的特点,以做到和原来的程序兼容,同时,它又可以接受标准ADO 技术的各种属
性和方法,在接受这些属性和方法时,它是和数据绑定控件脱离的,当然从某种意义上来说,这种方案提高了执行效率,给设计人员以更多的选择。
dbExpress 是 6.0加入的最新的数据库模块,它不使用缓存,可以快速浏览大量的数据,但是,不使用缓存就不能更改,所以它的标准方式是只读的。它一个重要的特点是交叉平台,可以和Linux 数据库连接,速度相当快。
⑻ 细化解析:如何正确理解关系数据库组件
下列术语描述了 SQL Server 2000 数据库组件构架的基本组成: 数据库数据库与数据文件相似,同为存储数据的场所。与数据文件一样,数据库并不直接向用户显示信息;用户运行应用程序访问数据库中的数据,数据库将这些数据以用户能够理解的格式呈现给用户。 数据库系统比数据文件的功能强大,因为数据库中的数据组织程度更高。在设计良好的数据库中,没有用户或应用程序必须同时更新的重复数据块。相关的数据分在一个结构或一条记录中,同时,还可以定义这些结构和记录之间的关系。 处理数据文件时,必须根据每个数据文件的特定结构对应用程序进行编码。数据库则不同,它包含一个目录,应用程序可以利用该目录来确定数据的组织结构。通用数据库应用程序能够利用该目录动态地向用户提供来自不同数据库的数据,而不受特定数据格式约束。 数据库通常有两个主要部分:一个是保存物理数据库的文件,一个是应用程序用于访问数据的数据库管理系统 (DBMS) 软件。DBMS 负责维护数据库的结构,包括: 维护数据库内数据间的关系。 确保数据存储正确,定义数据间关系的规则未被违反。 在系统崩溃的情况下,按照已知的一致性程度恢复所有数据。 关系数据库组织数据库数据的方法有很多种,而关系数据库是最为高效的一种。关系数据库系统是数学集合理论在如何高效组织数据这一问题上的应用。在关系数据库中,数据被收集在表(在关系型理论中称为关系)中。 表描述了对企业具有重要意义的某类对象。比如,一个公司的数据库中可能会有有关员工的表、有关客户的表,以及有关库存的表。每个表都由列和行(关系型理论中称为属性和元组)组成。每一列描述表代表的对象的某个属性。比如,Employee 表通常包含名字、姓氏、员工 ID 号、部门、工资级别以及职位等属性列。每一行表示表所代表的对象的一个实例。比如,Employee 表中的某一行代表员工 ID 号为 12345 的员工。 在将数据组织成表的过程中,用户通常会发现有许多不同定义表的方法。关系数据库理论定义了一个称为规范化的进程,可确保定义的表集能够有效地组织数据。
⑼ sql server的组件主要是哪些
oracle是目前使用最广泛的大型数据库,企业级的数据库
sybase也是属于大型数据库,不过没有oracle应用广泛
sql server是微软的数据库,从前是中小型,现在已经转型为大型数据库,对windows支持良好
access是微软office的组件之一,小型数据库,只是用于小型办公室和用户使用的
my sql是开源的数据库,属于中小型数据库,在很多开源项目中都使用到,应用非常广泛
⑽ Access数据库数据中有哪些基本组件简述他们的基本功能
1、表:存放数据。2、查询:从表中找出需要的数据。3、窗体:人机交互的界面。报表:打印输出的东西。