




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 欣赏 西班牙舞曲教学设计初中音乐七年级下册(2024)人音版(2024 主编:赵季平杜永寿)
- 第20课 清朝君主专制的强化2023-2024学年七年级下册历史同步说课稿
- 五年级信息技术上册 收发电子邮件说课稿 鲁教版
- 2025年信息技术公司面试宝典面试模拟题及参考答案
- 2025年人防工程管理员职位知识深度剖析与模拟题解答
- 2025年外贸业务员初级职位招聘面试模拟题及答案
- 2025年中级财务会计实务操作教程及考试重点解析
- 2025年养老评估师初级考试要点回顾与模拟试题解答
- 3.4.1尿液的形成和排出(第一课时)说课稿济南版生物七年级下册
- 2025年乡镇公务员招聘考试热点分析与模拟题集
- 河南省重点高中2025-2026学年高一上学期开学检测语文试题及答案
- 农业遥感耕地资源调查方案
- 可靠的出租吊篮施工方案
- 2025年度东营市专业技术人员继续教育公需科目试卷含答案
- (2025年标准)分包意向协议书
- 标本运送基础知识培训课件
- 口腔器械处理规范与操作流程
- 2025年司炉工考试题库及答案
- 国际渔船的安全
- 奶茶产品研发培训课件
- 筋膜理论培训课件
评论
0/150
提交评论