delphi7使用怎样在DBNavigator中使用刷新按键

好像是主外键的关系而让删除功能有误。但我不知道怎么办?请帅哥帮帮我。谢谢了。感激不尽了。。

摘要:Excel是微软的办公自动化软件嘚一个组件是用于数据处理的电子表格软件,而ADO是访问和操作数据库的方法通过一个课程信息管理程序的设计对于在delphi7使用中如何利用ADO組件来访问Excel文件的技术方法与实现步骤进行了详细阐述。 

Office办公软件的组件之一是被广泛应用的电子表格处理软件,可以实现信息保存、數据计算处理、数据分析决策、信息动态发布等功能   Microsoft? ActiveX? Data Objects (ADO) 使您能够编写应用程序,通过 OLE DB 提供者访问和操作数据库服务器中的数据它的主要优点是易于使用,速度快内存支出低,占用磁盘空间少ADO 支持用于建立客户端/服务器和基于 Web 的应用程序的主要功能。   Excel为我们提供了强大的数据处理功能ADO为我们提供了访问数据库的方法,而我们要在delphi7使用中利用ADO来访问Excel中的数据那么我们得先清楚在delphi7使用中ADO的相关組件,并且应该将一个Excel数据文件想像为一个关系数据库Excel文件中的每个工作表就对应该数据库中的一个表,而工作表中的每一列就是表的列      2 在delphi7使用中ADO的相关组件      在delphi7使用中有一套采用ADO的组件,它们不同于基于Borland数据库引擎(BDE)的连接和数据集组件利用这些采用ADO的组件,我们可以与ADO数据库相联系读取数据库中的数据并执行相应的操作,而且此过程完全不需要使用BDE   2.1 TADOConnection组件   TADOConnection组件被用于建立一个与ADO数据存储的连接。为了执行命令、获取数据和操作数据可以把多个ADO数据集和命令组件与一个TADOConnection组件相关联以共享连接。   TADOConnection组件有两个重要的属性分别是ConnectionString和Connected。   ConnectionString属性是用来指明数据库的连接信息(包括数据源的提供者、数据库文件和用户名及密码等)的属性可以在程序设计阶段,通过对象观察器来设置它而Connected属性用来说明一个与数据库的联系是否被激活。   TADOConnection组件可以调用Open方法来建立与ConnectionString属性里指明的数据库的联系而调用Cancel方法来取消一个准备与ADO数据库建立的联系。   2.2 在delphi7使用中的数据浏览组件      数据浏览组件用于输叺操作或浏览数据库中的数据,为我们提供一个操作数据库数据的可视界面我们这里用到的主要有TDBGrid组件和TDBNavigator组件。   3.1 TDBGrid组件   TDBGrid组件主偠用于将数据源的信息显示在网格中它以行和列组成的栅格显示数据库中的数据,类似于电子表格重要的属性有:Columns、DataSource和Fields等。   Columns属性鼡来读取和设置网络中列的特性如列的宽和列的名称等。DataSource属性是最重要的属性用于指明要显示的数据的来源。通过Fields属性可以直接访问莋为网格中一列的数据集中的字段对象   3.2 TDBNavigator组件   TDBNavigator组件主要用于在数据集中进行记录导航和为用户操纵数据集中的记录提供了一组简單明了的控制按钮。我们单击其中的按钮可以实现向前向后移动记录指针、插入记录、修改记录、提交修改、取消修改、删除记录以及刷噺记录的显示等操作它有一个重要属性,就是DataSource属性用来把它和被其控制的数据集联系起来。在这里我们把TDBNavigator组件和TDBGrid组件结合起来一起使用。   除了要用到上述组件之外我们还需要用到一个重要组件TDataSource组件。TDataSource组件在这里用于连接ADO的数据集组件和数据浏览组件 

     TADODataSet組件和TADOTable组件都是数据集组件,都有一个ConnectionString属性如果我们利用这两个数据集组件的ConnectionString属性进行连接数据库的话,就不需要TADOConnection组件了并且这两个數据集组件也只需要用一个就可以了。在这里我们利用TADODataSet组件和TADOConnection组件来实现数据库的连接并以一个课程信息管理程序为例进行说明。   4.1 創建数据文件   新建一个名为‘课程信息’的Excel文件把表名也重命名为‘课程信息’,并把多默认的另外两个表删除掉在A1、B1和C1三个单え格中输入课程号、课程名称和学分,并分别在其下面的单元格中输入对应的数据(即课程信息)   4.2 Provider作为ADO的驱动程序。这原本是用于連接Access数据库的驱动程序但也可打开Excel文件。   (3)单击连接选项卡选择或输入数据名称时,选择刚才新建的名为‘课程信息’的Excel文件注意,不是Access文件而是Excel文件。   (4)单击所有选项卡把扩展属性Extended Properties设置为“Excel 8.0”,否则测试连接时会报告无法识别数据格式的错误。選中Extended Properties单击编辑值进行设置。   (5)最后回到连接选项卡单击测试连接,进行数据连接的测试如果成功,则提示测试连接成功的字樣   3)把TADODataSet组件放到窗体上,取名为MyADODataSet并设置其属性。具体过程如下:   (1)设置Connection属性值为My New按钮增加一列单击选中刚增加的列,设置其FieldName属性值为课程号并设置其Width属性值为50。再以同样的方法设置‘课程名称’和‘学分’两列   6)把TDBNavigator组件放到窗体上,取名为MyDBNavigator并设置其属性DataSource的值为MyDataSource,这样就通过数据源组件MyDataSource把数据集组件MyADODataSet和数据控制组件MyDBNavigator联系起来了   7)单击运行(F9)按钮,把程序编译起来结果如圖(课程信息管理程序界面)所示,这样我们就可以通过MyDBNavigator组件在MyDBGrid上进行插入数据、删除数据、更新数据以及进行数据记录的移动等数据库瑺用的操作   图1课程信息管理程序界面      5 Excel是常用的一种电子表格软件,我们经常用它来处理一些数据而如何把其中的数据当數据库中的数据利用ADO组件进行访问,就是本文所研究的内容本文对于在delphi7使用中利用ADO组件访问Excel文件的技术方法与实现步骤进行了详细的介紹。      参考文献:   [1]吴天准.delphi7使用7 程序设计技巧与实例[M] 北京 中国铁道出版社2003   [2]肖帆.delphi7使用6实用编程教程[M] 北京 北京希望电子出版社,2001   注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文 

下是delphi7使用数据库应用程序中常见錯误、原因/解决方法:

数据感知控件DataSource属性未设置或者设置错误(链接为其他的DataSource)

原因:在设计时不小心改动拷贝粘贴过程中未全部更改

測试时标准代码中没有数据,无法进行测试

解决:确定需要输入数据的表格的先后顺序在依次输入测试数据,再进行测试

wwFilterDialog中进行数据过濾时应该显示字段列表的字段没有显示,不方便输入

解决:判断字段查找标码填充字段列表

运行程序时出现字段未找到的错误

原因:數据库进行了更改,而DataSet的字段列表没有更新

用DBGrid显示数据时为方便阅读,单数行与奇数行用不同颜色显示在数据量时,浏览数据时明显感觉到DBGrid数据刷新不够单数行与奇数行的颜色不能正确显示

解决:将部分查找字段去除

原因:设计后未仔细检查

DBNavigator中“刷新”按钮点击后出錯

解决:去除导航中的部分按钮

由存储过程得到的数据集对应的DBNavigator的“刷新”出错

窗体Show后,进入数据编辑后部分查找字段编辑时出现数据集未打开

原因:数据集打开顺序有问题

解决:调整数据集的打开顺序,让标码数据集先打开

出现未找到存储过程的错误

原因:数据库的存儲过程进行的重命名

解决:更改DataSource中的存储程序名称

解决:改为与数据集相关的标题如“筛选计划”

窗体在下设计时,即使窗体为800*600在屏幕分辨率为800*600的时候出现窗体中的内容不能全部显示的现象

解决:下设计800*600时预留一定的空间

dxDBGrid在将字段拖曳到分组栏时,不能进行编辑:dxDBGrid中的當前记录与数据感知控件的当前记录不一致

解决:将二者在不同部分实现不在同一窗体实现

原因:未知。但发现在FormShow中打开表很多尝试將其中部分表不打开时,错误消失且不打开的表不同时,错误都消失

(系统休眠后)第一次连接数据库时(用户、口令均正确)出现錯误,但第二次则正常

打开/保存对话框未设置过滤条件

防差错措施不完善(如输入数据(数字)出错时不报警)

解决:保存前验证正确性判断,设置Mask

数据感知控件DBComboBox应可进行选择和输入的输入框不能进行输入

模态对话框,Escape键不起作用

模态对话框回车键不起默认作用

使用Tab鍵后焦点跳转顺序无规律

解决:设置控件的TabOrder属性

我要回帖

更多关于 delphi7使用 的文章

 

随机推荐