【asp源码栏目提醒】:以下是网学会员为您推荐的asp源码-写个通用的asp代码及sql2000存储过程生成器 - 技术总结,希望本篇文章对您学习有所帮助。
写个通用的
asp代码及sql2000存储过程生成器 写个通用的
asp代码及sql2000存储过程生成器2010-08-17 1003最终编辑黑睿代码我不帖了因为不通用每个人的习惯不同所以没办法通用说说我的想法。
近日来写代码写到手发软而且所做的工作也都是一些重复的机械式劳动感觉很是无耐 当今天设计到一个表的时候郁闷字段太多了看的我自己都头痛这TMD要手写一个一个处理我真要晕了 于是想到能不能直接写个程序自动生成呢 答案肯定是可以但是怎么做呢 思路 1、取得指定表的所有字段、字段数据类型、字段长度 2、根据字段数据类型生成存储过程中需要的变量定义、update及insert语句 3、根据字段数据类型生成提交表单后的变量获取代码如var1Request.Formvar1 4、生成从数据库中读取各字段值的代码如var1Rsvar1 当然有时还需要生成一下DIM定义变量语句我需要但并不是所有人都需要有些朋友不喜欢定义变量都差不多在这里忽略掉吧不细说了说说具体实施代码 set rsconn.executeselectfromtablename for each items in rs.fields response.write字段名称items.namevbtab数据类型items.typevbtab字段长度items.definedsizevbcrlf next set rsnothing 通过上述代码就可以获得tablename表中所有字段的名称、数据类型、字段最大长度 但要注意一点这里的items.type取得的数据类型是一个整数需要自己再处理一下 而且像datetime和smalldatetime这两种数据类型取回的type值是一样的 可能还有其他数据类型有相同值我没有一个一个去试因为我没有用到。
我用到的只是int/bigint/datetime/numeric/varchar/nvarchar/text这几种其他的不常用所以没有加进去 以后用的话再加吧言归正传上面我们知道了用什么方法去取出字段信息现在我再给大家一个表格 大家可以对照这个表格加入自己需要的数据类型组织成一个完整的函数。
常数描述 adBigInt208字节有符号整数 adBinary128二进制值 adBoolean11布尔值 adBSTRNull-中断字符串Unicode adChar129字符串值 adCurrency货币值 adDate日期值 adDBDate133日期值yyyymmdd adDBTime134时间值hhmmss adDBTimeStamp135日期时间值yyyymmddhhmmss adDecimal14具有固定的精度和范围的扩展数字型。
adDouble双精度浮点数值 adEmpty空值 adError1032位错误码 adGUID72全球唯一的标志码 adIDispatch指向一个OLE对象Idispatch的指针 adInteger4字节有符号整数 adIUnknown13指向一个OLE对象Iunkown的指针 adLongVarBinary205长二进制值 adLongVarChar201长字符串值 adLongVarWChar203长NULL-中断字符串值 adNumeric131具有固定的精度和范围的扩展数字型。
adSingle单精度浮点值 adSmallInt2字节有符号整数 adTinyInt161字节有符号整数 adUnsignedBigInt218字节无符号整数 adUnsignedInt194字节无符号整数 adUnsignedSmallInt182字节无符号整数 adUnsignedTinyInt171字节无符号整数 adUserDefined132未定义变量 adVarBinary204二进制值 adVarchar200字符串值 adVariant12OLE自动变量 adVarWchar202NULL-中断Unicode字符串 adWchar130NULL-中断Unicode字符串 这个表格也是我在网上搜索来的我只对常用的几个数据类型进行了处理其他类型大家自己测试吧 下面粘一段函数 function gettypepntype select case pntype case 20gettypebigint case 3gettypeint case 17gettypetinyint case 131gettypenumeric case 202gettypenvarchar case 200gettypevarchar case 201gettypetext case 135gettypedatetime end select end function gettype用来返回各数值表示的数据类型因为用数值太不好记忆了再说存储过程中要用到这些类型的英文 下面看看我是怎么处理存储过程中的变量定义的 dim fieldslistoutstring if fieldslistthen fieldslistfieldslistvbcrlf select case gettypeitems.type casenvarcharvarcharfieldslistfieldslistitems.namegettypeitems.typeitems.DefinedSize casetextfieldslistfieldslistitems.namegettypeitems.type caseintbigintnumerictinyintfieldslistfieldslistitems.namegettypeitems.type0 casedatetimefieldslistfieldslistitems.namegettypeitems.typegetdate end select outstringfieldslist response.write outstring 我的习惯是存储过程中全部小写 再看看怎么处理表单数据 if fieldslistthen fieldslistfieldslistvbcrlf select case gettypeitems.type casenvarcharvarcharfieldslistfieldslistrsUCaseLeftitems.name1Miditems.name2LeftTrimRequest.Formitems.nameitems.DefinedSize casetextfieldslistfieldslistrsUCaseLeftitems.name1Miditems.name2Request.Formitems.name caseintbigintnumerictinyintfieldslistfieldslistrnUCaseLeftitems.name1Miditems.name2CheckInputRequest.Formitems.namen casedatetimefieldslistfieldslistrtUCaseLeftitems.name1Miditems.name2CheckInputRequest.Formitems.namedt end select outstringfieldslist 我的习惯是在
asp代码中数值变量用小写的n前缀日期用d日期时间用t或dt字符串用s 然后字段名的第一个字母大写字段名始终小写如nAgeRsage 经过一翻折腾终于做出来了当然实际应用中不可能直接这样生成就完事 但相对来讲他减少了我的劳动强度让我的效率提高了 可以少做一些无聊的工作。
当然这里面其实还应该加入一个默认值的处理还有就是也可以通过读取系统表的方法进行处理 因为我没有实际操作过所以在这里就不讲了大家有兴趣可以百度一下相关资料有很多。
上一篇:
基于ASP企业员工信息管理系统的设计和开发word格式源文件
下一篇:
汝康皮肤护理液医治烧伤的可行性和效果分析