已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/* 作者: evlon(阿牛) MSN: QQ:273352165* 功能: 得用Sql生成的脚本生成C#类*/对于Sql Server数据库,有查询分析器的帮助.我们可以省下不少的工夫.如果,在查询分析器的选项.脚本中,勾选将扩展属性脚本作为对象脚本的一部分我们可以生成如下的Create 脚本:CREATETABLEAdminUsers(useridintIDENTITY(1,1)NOTNULL,loginIDvarchar(30)COLLATEChinese_PRC_CI_ASNOTNULL,loginPwdvarchar(50)COLLATEChinese_PRC_CI_ASNOTNULL,UserNamenvarchar(30)COLLATEChinese_PRC_CI_ASNOTNULLCONSTRAINTDF_AdminUsers_UserNameDEFAULT(),IsSuperManbitNOTNULLCONSTRAINTDF_AdminUsers_IsSuperManDEFAULT(0),CONSTRAINTPK_AdminUsersPRIMARYKEYCLUSTERED(userid)ONPRIMARY)ONPRIMARYGOexecsp_addextendedpropertyNMS_Description,N是否超级用户,Nuser,Ndbo,Ntable,NAdminUsers,Ncolumn,NIsSuperManGOexecsp_addextendedpropertyNMS_Description,N登陆名,Nuser,Ndbo,Ntable,NAdminUsers,Ncolumn,NloginIDGOexecsp_addextendedpropertyNMS_Description,N登陆密码,Nuser,Ndbo,Ntable,NAdminUsers,Ncolumn,NloginPwdGOexecsp_addextendedpropertyNMS_Description,N用户系统标识,Nuser,Ndbo,Ntable,NAdminUsers,Ncolumn,NuseridGOexecsp_addextendedpropertyNMS_Description,N真实姓名,Nuser,Ndbo,Ntable,NAdminUsers,Ncolumn,NUserNameGO我们要生成下面的C#类:/*/AdminUsers的摘要说明。/publicclassAdminUsers/*/用户系统标识/privateintuserid;publicintUseridgetreturnuserid;setuserid=value;/*/登陆名/privatestringloginID;publicstringLoginIDgetreturnloginID;setloginID=value;/*/登陆密码/privatestringloginPwd;publicstringLoginPwdgetreturnloginPwd;setloginPwd=value;/*/真实姓名/privatestringuserName;publicstringUserNamegetreturnuserName;setuserName=value;/*/是否超级用户/privateboolisSuperMan;publicboolIsSuperMangetreturnisSuperMan;setisSuperMan=value; 由于Sql脚本中有我们需要的所有的东西.我们就有了生成类的必要条件.我已经把它用Javascript脚本实现了:UntitledStotype.upperFirstChar=function()returnthis.replace(/(w)/,function($1)return$1.toUpperCase(););Stotype.lowerFirstChar=function()returnthis.replace(/(w)/,function($1)return$1.toLowerCase(););varConvertDbTypeToCSType=bigint:long,binary:byte,bit:bool,char:char,datetime:DateTime,decimal:decimal,float:float,image:byte,int:int,money:string,nchar:char,ntext:string,numeric:int,nvarchar:string,real:string,smalldatetime:DateTime,smallint:int,smallmoney:string,sql_variant:string,sysname:string,text:string,timestamp:DateTime,tinyint:int,uniqueidentifier:string,varbinary:byte,varchar:string;functionCsFileStream()this.ms=newArray();this.tabNum=0;this.getTabs=function()vararr=newArray();arr.length=this.tabNum+1;returnarr.join(t);CsFileStotype.append=function()varstr=arguments0;if(strinstanceofArray)str=str.join();if(this.tabNum0)vartabs=this.getTabs();vartmpStr=str.replace(/n/g,n+tabs);this.msthis.ms.length=tmpStr;elsethis.msthis.ms.length=str;CsFileStotype.addTab=function()this.tabNum+;if(this.ms.length0)this.msthis.ms.length-1=this.msthis.ms.length-1.replace(/nt*$/gm,n+this.getTabs();CsFileStotype.delTab=function()this.tabNum-;if(this.ms.length0)this.msthis.ms.length-1=this.msthis.ms.length-1.replace(/nt*$/gm,n+this.getTabs();CsFileStotype.toString=function()returnthis.ms.join();functionbuildCsFromSql(strSql)vartableName=strSql.match(/tables+(+)/i)1;varcolumn=;varrgx=/(+)s+(+)/gi;vararr;while(arr=rgx.exec(strSql)!=null)columnarr1=;=arr1;columnarr1.dbtype=arr2;columnarr1.cstype=ConvertDbTypeToCSTypearr2;rgx=/NMS_Description,s+N(+).+N(+)$/gim;while(arr=rgx.exec(strSql)!=null)columnarr2.dbdesc=arr1;varcs=newCsFileStream();cs.append(/n);cs.append(/,tableName.upperFirstChar(),的摘要说明。n);cs.append(/n);cs.append(publicclass,tableName.upperFirstChar(),n);cs.append(n);cs.addTab();for(variincolumn)/私有成员cs.append(/n);cs.append(/,columni.dbdesc);cs.append(/n);cs.append(private,columni.cstype,.lowerFirstChar(),;n);cs.append(public,columni.cstype,.upperFirstChar(),n);cs.append(n);cs.addTab();cs.append(getreturn,.lowerFirstChar(),;n);cs.append(set,.lowerFirstChar(),=value;n);cs.delTab();cs.append(n);cs.delTab();cs.append(n);returncs.toString();functiongo_buildCsFromSql()txtCs.value=buildCsFromSql(txtSql.value);CREATETABLEAdminUsers(useridintIDENTITY(1,1)NOTNULL,loginIDvarchar(30)COLLATEChinese_PRC_CI_ASNOTNULL,loginPwdvarchar(50)COLLATEChinese_PRC_CI_ASNOTNULL,UserNamenvarchar(30)COLLATEChinese_PRC_CI_ASNOTNULLCONSTRAINTDF_AdminUsers_UserNameDEFAULT(),IsSuperManbitNOTNULLCONSTRAINTDF_AdminUsers_IsSuperManDEFAULT(0),CONSTRAINTPK_AdminUsersPRIMARYKEYCLUSTERED(userid)ONPRIMARY)ONPRIMARYGOexecsp_addextendedpropertyNMS_Description,N是否超级用户,Nuser,Ndbo,Ntable,NAdminUsers,Ncolumn,NIsSuperManGOexecsp_addextendedpropertyNMS_Description,N登陆名,Nuser,Ndbo,Ntable,NAdminUsers,Ncolumn,NloginIDGOexecsp_addextendedpropertyNMS_Description,N登陆密码,Nuser,Ndbo,Ntable,NAdminUsers,Ncolumn,NloginPwdGOexecsp_addextendedpropertyNMS_Description,N用户系统标识,Nuser,Ndbo,Ntable,NAdminUsers,Ncolumn,NuseridGOexecsp_addextendedpropertyNMS_Description,N真实姓名,Nuser,Ndbo,Ntable,NAdminUsers,Ncolumn,NUserNameGO运行效果如下:还可以改成Emeditor宏:记得保存Stotype.upperFirstChar=function()returnthis.replace(/(w)/,function($1)return$1.toUpperCase(););Stotype.lowerFirstChar=function()returnthis.replace(/(w)/,function($1)return$1.toLowerCase(););varConvertDbTypeToCSType=bigint:long,binary:byte,bit:bool,char:char,datetime:DateTime,decimal:decimal,float:float,image:byte,int:int,money:string,nchar:char,ntext:string,numeric:int,nvarchar:string,real:string,smalldatetime:DateTime,smallint:int,smallmoney:string,sql_variant:string,sysname:string,text:string,timestamp:DateTime,tinyint:int,uniqueidentifier:string,varbinary:byte,varchar:string;functionCsFileStream()this.ms=newArray();this.tabNum=0;this.getTabs=function()vararr=newArray();arr.length=this.tabNum+1;returnarr.join(t);CsFileStotype.append=function()varstr=arguments0;if(strinstanceofArray)str=str.join();if(this.tabNum0)vartabs=this.getTabs();vartmpStr=str.replace(/n/g,n+tabs);this.msthis.ms.length=tmpStr;elsethis.msthis.ms.length=str;CsFileStotype.addTab=function()this.tabNum+;if(this.ms.length0)this.msthis.ms.length-1=this.msthis.ms.length-1.replace(/nt*$/gm,n+this.getTabs();CsFileStotype.delTab=function()this.tabNum-;if(this.ms.length0)this.msthis.ms.length-1=this.msthis.ms.length-1.replace(/nt*$/gm,n+this.getTabs();CsFileStotype.toString=function()returnthis.ms.join();functionbuildCsFromSql(strSql)vartableName=strSql.match(/tables+(+)/i)1;varcolumn=;varrgx=/(+)s+(+)/gi;vararr;while(arr=rgx.exec(strSql)!=null)columnarr1=;=arr1;columnarr1.dbtype=arr2;columnarr1.cstype=ConvertDbTypeToCSTypearr2;rgx=/NMS_Description,s+N(+).+N(+)$/gim;while(arr=rgx.exec(strSql)!=null)columnarr2.dbdesc=arr1;varcs=newCsFileStream();cs.append(/n);cs.append(/,tableName.upperFirstChar(),的摘要说明。n);cs.append(/n);cs.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026新疆喀什市迎宾大道街道服务中心招聘考试备考题库及答案解析
- 儿童发热物理降温操作规范
- 《中医诊断学》考试题库及答案(三)
- 保险理赔流程说明函4篇范本
- 项目进度确认及下一步工作计划的回复函6篇范本
- 纸艺与版画弘扬推进承诺书3篇
- 企业财务预算编制与审核标准指导手册
- 工厂生产阳光承诺书(6篇)
- 劳动场所健康安全保障承诺书4篇
- 地方政府如何通过科技招商推动区域产业升级
- (2026)医务人员手卫生规范课件
- 《生生不息中国龙》教学课件-2025-2026学年冀美版(新教材)小学美术三年级下册
- 2026广东潮州城市建设投资集团有限公司及下属公司招聘15人考试备考题库及答案解析
- 福建省初中信息技术中考试卷含答案-5篇
- 颅脑损伤恢复期的护理查房
- 孟山都新员工入职培训
- 高中生物竞赛模拟考试题
- 古树保护与传承课件
- 2025年贵州银行春招笔试真题及答案
- 招229人!2026年上半年云南省交通运输厅所属事业单位公开招聘笔试参考题库及答案解析
- 量子技术科普
评论
0/150
提交评论