Posted on 2006-05-10 21:23
李天平 阅读(23044)
评论(110) 编辑 收藏
由于最近太忙,公司事情很多,家里又在装修(不过,房子马上就要装修完了,心里还是蛮高兴得)。所以最近也没有对软件做太多更新。对很多网友的来信也没有及时回复,在此表示歉意。
同时,Codematic生成器和示例项目Codematicdemo的一些问题也没来得及更新。五一期间偶有空闲,把示例项目CodematicDemo的源码升级到.net2.0,对代码作了部分整理,(代码还只是一部分,仅供学习)。由于很多网友对Codematic1.0自己升级时出现很多问题,这个项目可以帮助新接触asp.net2.0的朋友和升级失败的朋友了解2.0,希望能对进一步学习2.0有一点点帮助。该项目基于VS2005+SQL2000/2005开发,是一个三层结构的范例项目,如果结合Codematic将会大大提高开发效率和周期。
下载地址:http://www.maticsoft.com/softdown.aspx
借此正式宣布Codematic官方发布平台 和 动软论坛 正式开通!
详情请访问:http://www.maticsoft.com/ 和 http://bbs.maticsoft.com/
同时Codematic 2.0版仍在开发中,一些功能还没有完成。
下面仅是代码生成器Codematic 2.0 beta 版已完成的部分截图,应部分网友要求先睹为快。
多类型数据库统一注册集中管理

增加了存储过程和视图

自定义条件代码生成,支持选择字段和条件(主键)字段

根据模板+数据库生成代码

Feedback
一直支持,太强
要通透很多底层的东西才能做出这样的软件。
而且,程序强往往界面弱,可是你为什么就是两全其美。
赞。
因为业务的原因,倒回去研究了一段时间asp,现在又回来了。渴望得到指点
能不能开一个技术论坛呢?或者一个QQ群..
因为现在出现错误了,都没法解决.出现的一个问题我已经忙了二天时间了..但
现在还得不到解决..
偶在使用李大侠的代码生成器时发现,经常报它的字符串初始化错误,提示是这样的:
“从索引0开始,字符串初始化不符合规范!”
郁闷!麻烦说以下啦。。。谢谢
你好,我是台湾的.net初学者,在使用你的程式之后方便了许多也学到了不少,不知道是不是能把程式翻成英文版或繁体中文版的版本,这样在复制程式码时才方便不会一直要转码,感谢~~~
@tree505, 上面不是写着动软论坛的地址吗?
@飘渺峰,请说详细一些,或截图发给我,也可以来论坛让大家来共同讨论。
@我是初学者,可以考虑你的建议.
LZ辛苦了,
建议把字段的备注也添加上,在生成代码的时候就以备注作为该字段的注释内容,本人觉得这点很有必要
我刚工作一个月,用您的程序使代码量变少了很多,非常感谢。
李老师辛苦了..
不知道2.0还会不会提供免费下载..
期待中......
请考虑增加一些方便菜鸟们使用的功能。谢谢了
不得不佩服啊,我看过你的1.0版本,越来越好了,现在做的项目就用了你这工具,效率好高啊,又可以偷懒一下了,非常感谢!!!
相当不错!
用C#+ADO实现建表,建库是很容易做到。
但是做出查询分析器这样的效果来就真的需要工夫了。
呵呵!
生成代码也不是不能实现,拼接字符串应该就可以了。
但是连框架一起生成,又需要工夫了。
老兄连用户控件也玩的溜。
不过老兄界面层的代码好象写的有点不精练。。
嘿嘿。
不及也,不及也!
開源的生成器很多,你這款很不錯
今天無意中看到并試用了一下,功能還有些需要完善
像我對數據實體要求非常高,擴展模版時,居然只有兩個屬性
看了下源碼,原因出在GetXml2 & GetXml函數中
建議修改如下(如果讓用戶知道屬性值,更便于用戶擴展模版)
BuilderTemp
GetXml2 & GetXml
writer1.WriteStartElement("FIELD")
writer1.WriteAttributeString("Name", text1)
writer1.WriteAttributeString("Type", text2)
下面增加
writer1.WriteAttributeString(row1.Table.Columns.Item(3).ColumnName, row1.Item(3).ToString)
writer1.WriteAttributeString(row1.Table.Columns.Item(4).ColumnName, row1.Item(4).ToString)
writer1.WriteAttributeString(row1.Table.Columns.Item(5).ColumnName, row1.Item(5).ToString)
writer1.WriteAttributeString(row1.Table.Columns.Item(6).ColumnName, row1.Item(6).ToString)
writer1.WriteAttributeString(row1.Table.Columns.Item(7).ColumnName, row1.Item(7).ToString)
writer1.WriteAttributeString(row1.Table.Columns.Item(8).ColumnName, row1.Item(8).ToString)
鼓勵一下
我是印度的一个程序员,在最近的项目中用这个软件,感觉很不错,希望能早日推出2.0版
partial
partial
partial
partial
partial
partial
partial
partial
建议生成的 model和DAL类都加了partial关键字!!!!!!
太佩服了,对多层结构一巧不通的人也可以做多层结构的项目了,服死你了,多层结构这两天正郁闷着我了,哈哈 现在开心了
http://www.delphibbs.com/keylife/iblog_show.asp?xid=20415
我也写了一个代码自动生成器,支持Oracle和SQL Server,功能没有你的多,但是也有自己小优点,而且是开源的。
主要功能有:
1,单表的数据存取,你也有;
2,任意查询的Model;
3,自动生成调用存储过程的代码,以及生成存储过程的参数Model;
我写这个东东的目的完全是自己方便,理论依据不强。
我咋就没看出开源来呢?
生成器的源码能拿来研究研究吗?
罗列几个问题:
1.Bigint和Int不能区分?我用Bigint的字段生成实体类后只能是int类型
2.左边数据库连接的那个TreeView如果没有点右键选择“连接数据库”而直接双击打开就抱错了,大概是空对象引用。估计没有自动实例化那个Connection就准备展开;
粑粑糖
thank you!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
thank you!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
thank you!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
thank you!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
thank you!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
thank you!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
thank you!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
因为电脑装的是 .Net Framework 所以下载了2.0版本安装(Maticsoft CodeBuild 2.0 (050530)),但好像有好多东西不能操作,是不是还没有全部完成呢?
你LTP功能很不错。。。又是免费的。。难得。。。。界面也很漂亮。。。希望能越来越强。。。当然也需要CODER们。。给李老师提意见
.net 2.0版本的在生在使用“自动输出代码”里,使用单类构时会出错。
可不可以给个模版的详细使用实例。
李老师:你好,用你的生成器也已经有好一段时间了,其他都感觉还好,就是有一个问题,你那些实体类的操作都是针对单表的操作啊,现在我想如果表和表之间有着一些关系的情况下,比如"一对多"或者"多对一"的情况下,是否可以设置一些相关的联系?比如A类的A1属性的类型是表B对应的实体类的类型,如果可以设置的机好了:
class a
{
public b a1
{
.........
}
}
class b
........
你说呢?
昨天下载了2.0版本的想用一下,可是好多功能无法使用?是还没有开发完成还是下载的版本有问题?
而且下载的网站好像也进不去了,昨天还可以的!
大家也可以尝试一下 CodeSmith 的,更灵活,功能更强。就是入门稍微有点难。
支持! 感觉在多国语言支持方面要加强!功能灵活些!!bug可以慢慢改
能不能封装成控件呢?
代码生成之后就是“死的”了,要想修改只有重新编译后才能生效。
而分装成控件就可以很灵活了。
不是一个控件,而是一系列的控件,比如显示数据的、分页的、表单控件、查询控件等。
既然能生成代码,为何不抽象成控件呢?
金色海洋(jyk) http://jyk.cnblogs.com/
为什么LTP生成数据库文档和代码自动生成我这里用不了.一点击生成按钮,下面的进度条显示0就不动了.我用的access数据库.和这有关吗
楼主现在休息了吗?
呵呵,大家对你期待很大哟
可这么久都没新消息了
老大,写得很不错,很想学习一下你的工具和demo,我怎么不可以下载啊,你可不可把你的demo传给我啊,谢谢
wqjch@163.com
报告一个bug先,在数据库排序规则设置为Chinese_PRC_BIN时,会报sysobjcts找不到的异常。1.97与2.0 alpha 都这样
李老师:你好 !下载的您的 。net知识库 打开后全部都不能显示,不知道是什么原因!知识库中的内容实在是太好了,我迫切需要!
是不是因为我下载的不对?
非常感谢您提供这么多好东西!
@杨作伟 ,net知识库打开后不能显示,可能是目录里面有中文,文件夹的名字是中文的,把文件放到根目录或换个目录试试。
@Tonyyang,应该会在春节前后吧,后期会尽快完善现有版本的bug和一些功能,尽量让大家生成过程中少作修改,由于各方面原因好长时间未作版本更新,由此给大家带来的不便,深表歉意。
用这个工具生成了部分代码,确实方便了不少啊:)
感谢!!
你好李老师,我下了Codematicdemo2.0版安装成功后,发现新建项目框架没法用,选了模板,设了名称,然后点浏览和确定都没有反应,好象这两个按钮没有执行命令。请问是软件没做完还是我系统有问题?我是2003SERVER,VS2005,.NET FRAMEWORK2.0
nvarchar(10)的字段,在存储过程中变成
@user nvarchar(20) ,了,增加了一倍?
李老师,你好!
我下了Codematicdemo2.0版安装成功后,发现新建项目框架没法用,选了模板,设了名称,然后点浏览和确定都没有反应,好象这两个按钮没有执行命令。请问是软件没做完还是我系统有问题?
本人用的是2005SERVER,VS2005,.NET FRAMEWORK2.0
我用的是Sql2000 ,能给个你这个框架的数据库吗?
huangwen5123@sohu.com
@attack,对不起,那个功能还没有开发完。
@一场误会 下载包里有数据库文件
李老师,你的创作非常棒,我作为一名程序员非常钦佩您的敬业精神和您的智慧!
在使用过程中,我有一些自己的想法,在此抛砖引玉,希望更多的同仁来参与开发、改进而不是简单的使用。
实际使用中“自动输出代码”使用最为平凡,大多数人喜欢用自动编号的主键,DAL中的Add使用GetMaxId得到最大编号再插入数据表,这中方式我个人觉得欠妥;极端情况得到最大编号的时候,别人正好插入一条记录,等我再插入时发生报错;
我建议,插入时还是不要涉及主键;如果主键不是自动编号,那就像单个页面采用可选方式;还有一些人喜欢用全球唯一号,不知该怎么做。
在ASPX中经常将GetList得到的内容绑定到数据控件,但是大型应用中采用了分页方法,我看到V2.0中预留这个方法。
分页的GetList方法我做过一个,而且使用不错,李老师可以看看能不能整合到软件中;
我觉得生成的ASPX页面过于简单,而且不是很实用。我思考了一下,直接在一个页面中完成增、删、改、查,用一个GridView和一个添加记录的Table完成。
用以下方式即可。
<panel>
<GridView>
添加记录
</panel>
<panel>
<table>
显示列表
</panel>
既然表都有了,直接将ASPX和ASPX.CS生成。将增、删、改、查功能都做好这样不是大大提高了效率,这个代码我可以来完成
以上只是我个人的一些想法,可能有不切实际之处请各位前辈指教。
qing2000@126.com
请教使用动软.Net代码自动生成器中遇到的一个问题,希望得到李老师的指点:
按照您的生成器,好像是选择某个表然后就生成了关于这个表的CRUD的方法,于是每个表一个cs文件放在bll层,我看到有一个返回dataset的GetList方法我觉得好像适合,但是我查看了sqlserverDAL层的相关的GetList()方法是select * from tb ...,但是我的这个datalist显示的东西并不是只是简单一句select * from tb,它是一句涉及多个表的一个比较复杂的sql语句,
现在我的问题就是,我是要在BLL层写一个全新的方法来为我的这个datalist进行绑定吗?,这个方法放在哪呢,其实他涉及到多个表,放到哪个文件里比较合适呢?由于我对简单工厂的理解一知半解,我不清楚添加了这个方法以后,在其他层要进行哪些相应的改动?
望回复,冒昧之处还望见谅
illbloodbest@msn.com
李老师,我看了您的aspnet4.rar ,感觉可以学到很多东西,我们最近要开发几套 C#(WinForm) 的软件,不知道您的C#(WinForm)知识库哪里有下载的,很想跟您学习。。。。
盼回
zhuyunjun2007@163.com
李老师:
在使用ACCESS数据库时,程序有BUG,不能识别ACCESS的主键。选择也选择不了主键。
用你的软件做过几个项目,
我想问一下一般的步骤
我每次做都是一个页面一个页面拷的。。hongdaoming@tom.com
请问一个问题,在2.0中如果选择默认模板2的话 为什么生成不出构造的代码呢?
<xsl:for-each select="FIELDS/FIELD">
Public Const string FIELD_<xsl:value-of select="@Name" /> = "<xsl:value-of select="@Name" />";
</xsl:for-each>
这个是可以生成的但是
<xsl:for-each select="Query/Command">
Private Const String Command_<xsl:value-of select="@Name" /> = "<xsl:value-of select="@Name" />";
</xsl:for-each>
<xsl:for-each select="Insert/Command">
Private Const String Command_<xsl:value-of select="@Name" /> = "<xsl:value-of select="@Name" />";
</xsl:for-each>
<xsl:for-each select="Update/Command">
Private Const String Command_<xsl:value-of select="@Name" /> = "<xsl:value-of select="@Name" />";
</xsl:for-each>
<xsl:for-each select="Delete/Command">
Private Const String Command_<xsl:value-of select="@Name" /> = "<xsl:value-of select="@Name" />";
</xsl:for-each>
这些都不能生成.能不能给个答复?
或者有空的话发我的邮箱 elin0001@163.com
李老师:
我是初学者,你能不能把CodematicDemoS3程序的的相关说明文档提供一下?比如相关的类图等,我看此程序不知如何下手。
太感谢你了,你给我们带来极大的方便!以前的版本也看过,真是太好了,人品也很好,谢谢了,支持!
我怎么下载不了,大家谁有,可以发个我否。。
dbillows@163.com
184194053@qq.com
操作数据库的类能用自己的嘛?
默认都是DbHelperSQL
谢谢了。
objType = Assembly.Load(path).CreateInstance(CacheKey); 这句话怎么出现"未将对象引用设置到对象的实例。"错误
很好很强大,这些功能是我以前老早想做的了,居然比我快手一步。哈哈
@agp001 是可以自定义的
@ivanyb 反射的名称与实际类不一致,没有反射成功,检查一下
@LYY 这个软件从2004年初就已经开始做了:)
很不错,希望能够做出更加完善的帮助工具出来,加油啊!!!
李老师,您好,很喜欢您的软件,为了更好的协助您把他做好,也为了大家能更好的交流学习,特建立一个群:64674817,希望大家加入讨论。
现在的版本 还有怎样的 bug 我用的2.18的版本,用access 链接上总报异常,新版本是否更新了这个bug