自动生成--Delphi多层数据库应用项目源代码

转载 2006年05月22日 17:09:00
当设计好数据库后,开发Delphi多层数据库应用项目有许多枯燥而重复的体力活要做,如放组件,命名(特别是给每个组件以及字段对象都取一个可读的名字),关联,.....等等, 我开发了一个代码自动生成工具,自动生成应用服务器的源代码以及客户端的源代码, 生成后可以立即编译执行,修改并保存数据库的数据。

当你数据库中的表越多,字段越多的时候,这个工具软件就能为你节约越多的时间。

当然,生成的源代码仅供参考用,你是需要复制你需要的部分到你的真实项目中。

可以应用于所有能用UDL文件连接的数据库(对于非MS数据库其实就是需要ODBC驱动)。(Access, MS SQL, MySQL, Oracle...)  支持动态连接:DCOM, Socket, Web。

简介如下:

概述与软件界面,生成的程序的设计时与运行时界面, 以及下载
Delphi Multi-Tier DB Application Code Generator (含界面图片)

 Delphi Multi-Tier DB Application Code Generator

Delphi Multi-Tier DB Application Code Generator
Bear

Download:
http://www.torry.net/tools/code/codegen/DBAppCodeGenerator09.zip

My Other Code Generators:
http://www.torry.net/tools/code/codegen/IniCodeGenerator10.zip
http://www.torry.net/localuploads/StoredProcedureMaker.zip

Code Generator Main Window


We need input at least there parameters: Template Directory, Output Directory and UDL filename.
Here the Database.udl connects to MS SQL Server Northwind database.
Click "Help" button for more information.
Click "Generate Project Source Code" button to geneate source code.
See How to Use Delphi Multi-Tier Database Application Code Generator  too.


DBAPPCodeGenerator.PNG

It will generate two directories in the output directory.
One is for application server and another is for the Client GUI program.

You can open the app server project in Delphi and run it directly! (do this first to register the application server)
You can open the client GUI project in Delphi and run it directly!

Now you can copy what you need in the two projects into your real projects.

It will save you a lot of time of : dragging and dropping components, renaming components, connecting components, setting captions ....

 

Generated projects

 

App Server:

Run Time:

AppServer_Run.PNG
It will connect to database via Database.udl with exe file.

Design Time:

AppServer_Design.PNG

 

GUI Client:

Run Time:

GUIClient_Run_Main.PNG
It can use DCOMConnection,:SocketConnection or WebConnection.
Please config this in Config.ini

GUIClient_TableGrids.PNG

GUIClient_Run_Employee.PNG

GUIClient_Run_Orders.PNG

Design Time:

 

GUIClient_Design1.PNG

GUIClient_Design2.PNG

GUIClient_Design3.PNG

 

Enjoy it.

2006.5


Delphi Multi-Tier Database Application Code Generator 0.9
--Bear

DMPCG is a FREE code generator for Delphi developers.

When developing MIDAS project, we need develop the Application Server and Client Application.
We need put Dataset component and Provider components for each table on Application Server side.
We need put ClientDataSet and DataSource components for each table on Client application side.
We need put DataAware components for each table and field on Client application side too.
We need give each component a readable name regarding its table name or field name.

If you have a lot of tables in database to deal with, it may take you several days.

DMDACG can do all of these work for you in several minutes.
The more tables you have, the more time it save for you.

How does DMDACG work?
=====================

1. Copy project template directory to output directory.
2. Connect to database via UDL file or connect to Access MDB file directly.
3. Replace the variable block in template and insert some code blocks:

   On Server Side:
   A. Each table will have a DataSet and DataSetProvider components in RemoteDataModule
   B. Each DataSet will have persist field components.
      The first field will be looked as Primary Key.

   On Client Side:
   A. Each DataSet will have persist field components.
      The first field will be looked as Primary Key.
      If the filedname is like *ID, we guess it is a Foreign Key, there will be a DBLookupComboBox for it.
   B. Each table will have a form with DBGrid for the table and DBEdit components and Label components  for each field.
   C. There will be a form to hold all of the DBGrid components.

4. All of the component will be named well by the table name or field name.
   For example : Client_Frm, Client_DBGrid, Client_DBEdt, Client_Lab, etc.

5. You can change all of the default name format strings in NameFormat.ini


How to Use the DMDACG?
======================
1. Select template directory, you can select the default template directory: /MidasProject
   In fact you can edit the code in template directory to add more functions.
2. Select output directory
3. Select UDL file or mdb file
   You can also edit the database.udl and let it point to your own database,
   And then select the UDL file.
4. Select FieldName and DisplayText Map File, it is a text file. (Optional)
   If you use PowerDesigner to design the database, you can copy the field names and codes from the data item list to a text file.
5. Change other options. (Optional)
6. Click "Generate Project Source Code" button.

How to Use the output projects?
===============================
There will be two projects in the output directory.
One is for application server and another is for client GUI application.

1. Open the Application Server Project, run it to register the Remote Data Module COM.
   Then close it.
   If there is a "Database.mdb" file,  The RDM will use it as the database, or it will use
   "DataBase.udl" file as the data connection file to connect to database. See the source code.

2. Open the Client GUI Project, open DataModule, select the ServerName from the CombboBox for the DCOM Connection.
   By default, the Connection Broker use DCOMConnection because it is handy to debug.
   You can use other connection too.
   And there is a Config.ini file in Exe directory.
   The client will read it at runtime to decide use which connection. (DCOMConnection,SockectConnection or WebConnection)
3. Run the Client GUI Project,
   you can edit the the data and post for each table now!

4. Redesign the forms or copy and paste these components to your own forms.

这个软件是完全免费的。
在上面的第一个链接中还有两外两个代码生成器:存储过程生成器,INi读写代码生成器。



如何使用

How to Use Delphi Multi-Tier Database Application Code Generator

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

代码生成器介绍

1:CodeSmith一款人气很旺国外的基于模板的dotnet代码生成器 官方网站:http://www.codesmithtools.com 官方论坛:http://forum.codesmitht...

Delphi 三层框架开发 服务端开发

采用Delphi7+SQL2008 首先创建数据库和表
  • gykthh
  • gykthh
  • 2014年10月24日 14:40
  • 13085

多层数据库应用基于Delphi DataSnap方法调用的实现(四)BLOB字段的读写

数据库的BLOB字段,可以用来保存字节流数据,比如图片、声音文件、html文档和大文本等等。Delphi传统的DataSnap技术,客户端数据集的数据包缺省不包含Blob字段数据,但可以在真正需要的时...
  • ddqqyy
  • ddqqyy
  • 2011年07月30日 17:16
  • 3854

多层数据库应用基于Delphi DataSnap方法调用的实现(三)对象池技术

之前说到中间层通过向客户端暴露方法的方式提供服务,实现数据库数据的读取和更新。方法调用的方式,其潜在的意义,就是说中间层不保存客户端状态信息,就像WEB服务一样,客户端需要自己保存自己的状态信息。进一...
  • ddqqyy
  • ddqqyy
  • 2011年02月12日 15:13
  • 5996

[转]多层数据库应用基于Delphi DataSnap方法调用的实现(三)对象池技术

[转]多层数据库应用基于Delphi DataSnap方法调用的实现(三)对象池技术 之前说到中间层通过向客户端暴露方法的方式提供服务,实现数据库数据的读取和更新。方法调用的方式...

使用delphi 开发多层应用(二十一)使用XE5 RESTClient 直接访问kbmmw 数据库

delphi XE5 出来了,增加了android 的开发支持,另外增加了一个RESTClient 来支持访问REST 服务器。 这个功能非常强大,可以直接使用非常多的REST 服务器。同时也可...
  • ltqwby
  • ltqwby
  • 2015年02月10日 16:56
  • 739

多层数据库应用基于Delphi DataSnap方法调用的实现(四)BLOB字段的读写

数据库的BLOB字段,可以用来保存字节流数据,比如图片、声音文件、html文档和大文本等等。Delphi传统的DataSnap技术,客户端数据集的数据包缺省不包含Blob字段数据,但可以在真正需要的时...

多层数据库应用基于Delphi DataSnap方法调用的实现(四)BLOB字段的读写

[转]多层数据库应用基于Delphi DataSnap方法调用的实现(四)BLOB字段的读写 数据库的BLOB字段,可以用来保存字节流数据,比如图片、声音文件、html文档和大文...

多层数据库应用基于Delphi DataSnap方法调用的实现(二)更新数据集

    传统的数据集的读取和更新,是通过中间层的TDataSetProvider来完成的。TDataSetProvider负责从它上游的数据集读取数据生成Data包,再传给客户端;另一方面,在客户端提...
  • ddqqyy
  • ddqqyy
  • 2011年02月08日 18:29
  • 9309
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自动生成--Delphi多层数据库应用项目源代码
举报原因:
原因补充:

(最多只允许输入30个字)