摘要: 数据库结构:字段 类型ID 整型 索引(无重复)name 文本father 整型 //tree初始化procedure TForm1.FormActivate(Sender: TObject);var i:integer;begintreeview1.Items.BeginUpdate;while not(adotable1.Eof) dobeginif ADOTable1.FieldValues[father]=0 thentreeview1.Items.addchild(treeview1.DropTarget,ADOTable1.FieldValues[name])elsebegini: 阅读全文
posted @ 2013-09-05 23:43 麦麦提敏 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 第十三章 剖析几个数据库应用程序 前面已经详细讲述了Delphi 4的数据库编程技术。为了使读者能够透彻地理解有关编程技术并灵活运用,我们把Delphi 4的几个示范程序拿出来加以剖析,这些示范程序都编得非常有技巧。要说明的是,剖析程序时我们可能会忽略掉一些与主题无关的细节。13.1 一个后台查询的示范程序 这一节详细剖析一个后台查询的示范程序,项目名称叫Bkquery,它可以在C:\Program Files\Borland\Delphi4\Demos\Db\Bkquery目录中找到。它的主窗体如图13.1所示。 图13.1 Bkquery的主窗体 我们先从处理窗体的OnCreate... 阅读全文
posted @ 2013-09-05 23:31 麦麦提敏 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 第十二章 使用数据控件 在数据库应用程序中,数据控件是经常要用到的。与前面介绍的数据集构件如TTable、TQuery、TStoredProc、TClientDataSet不同的是,数据控件都是可视的。也就是说,如果修改了这些构件的属性,能在窗体上马上反映出来。如果这些构件的Enabled属性设为True并且数据集的Active属性也设为True,在设计期就可以看到数据。12.1 Delphi 4中有哪些数据控件 在Delphi 4的IDE中,数据控件都位于构件选项板的“Data Controls”页上。下面简单介绍这些数据控件:.TDBGrid以行和列组成的栅格显示数据。.TDBNavi.. 阅读全文
posted @ 2013-09-05 23:30 麦麦提敏 阅读(796) 评论(0) 推荐(0) 编辑
摘要: 第九章 查询数据库 这一章介绍如何用TQuery构件查询数据库,如何通过SQL语句检索、插入、更新和删除数据。SQL是符合工业标准的关系数据库语言,既可以用于远程的基于服务器的数据库,如Sybase、Oracle、InterBase和Microsoft SQL Server,也可以用于本地数据库如Paradox、dBASE、FoxPro和Access以及符合ODBC的数据库。Array.1 有效地使用查询 要有效地使用查询,必须熟悉标准的SQL语言以及所使用的服务器对SQL-Array2的限制和扩展,同时还要熟悉BDE。Array.1.1 查询桌面数据库 作为一个桌面开发者,应对表格、... 阅读全文
posted @ 2013-09-05 23:29 麦麦提敏 阅读(409) 评论(1) 推荐(0) 编辑
摘要: 第十一章 TClientDataSet 与TTable、TQuery一样,TClientDataSet也是从TDataSet继承下来的,它通常用于多层体系结构的客户端。TClientDataSet最大的特点是它不依赖于BDE(Borland Database Engine),但它需要一个动态链接库的支持,这个动态链接库叫DBCLIENT.DLL。在客户端,也不需要用TDatabase构件,因为客户端并不直接连接数据库。 由于TClientDataSet是从TDataSet继承下来的,所以,它支持诸如编辑、搜索、浏览、纠错、过滤等功能。由于TClientDataSet在内存中建立了数据的本地.. 阅读全文
posted @ 2013-09-05 23:28 麦麦提敏 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 第六章 什么是数据集 Delphi 4中有四种类型的标准数据集构件,分别是TTable、TQuery、TStoredProc和TClientDataSet。这些数据集构件都是从一个共同的基类TDataSet继承下来的,其中,只有TClientDataSet是直接从TDataSet继承下来的,而TTable、TQuery、TStoredProc的直接上级是TDBDataSet,TDBDataSet的上级是TBDEDataSet,TBDEDataSet 的上级才是TDataSet。这几个类之间的继承关系可以用图6.1来表示。 图6.1 数据集的继承关系 TDataSet是所有数据集的抽象基类... 阅读全文
posted @ 2013-09-05 23:26 麦麦提敏 阅读(1651) 评论(0) 推荐(0) 编辑
摘要: Fastreport使用经验(转) 在Delphi程序中访问报表对象 最基本的方法就是frxReport1.FindObject。然后把返回的对象强制转换成它的类型,当然,在报表中必须真的有这么个东东。如改变一个Tfrxmemoview的内容,可以这样写TfrxMemoView(frxReport1.FindObject('memo1')).Text:='jade';还可以用TfrxReportPage的FindBand方法,这个方法的参数是Band类,如报表抬头就可以直接使用这个方法,因为抬头一个页中只有一个,如果有多个同样的类。则不能使用这种方法。如果要使用 阅读全文
posted @ 2013-09-05 22:16 麦麦提敏 阅读(611) 评论(0) 推荐(0) 编辑
摘要: 多步操作产生错误,请检查每一步的状态值需检查是否是以下这些情况:1.无主键2.字段允许为空3.字段类型不匹配4.字段是不是精度不够。5.ADO控件 CursorLocation的属性,默认值为“clUseClient”,应设为“clUseServer”。 阅读全文
posted @ 2013-09-05 22:15 麦麦提敏 阅读(1380) 评论(0) 推荐(0) 编辑
摘要: 删除整个目录以往删除目录时,都需要先用递归删干净目录下的文件和子文件夹,这样做的时候,如果文件数量大,那么删除会非常慢; 于是找了个方便一点的方法,直接使用API将目录删除:代码如下:function DelDirectory(const Source: string): boolean;var fo: TSHFILEOPSTRUCT;begin FillChar(fo, SizeOf(fo), 0); with fo do begin Wnd := 0; wFunc := FO_DELETE; pFrom := PChar(Sour... 阅读全文
posted @ 2013-09-05 22:14 麦麦提敏 阅读(268) 评论(0) 推荐(0) 编辑