数据读取中...
 您当前位置:惠州维修 -> 网络-> asp技术交流 文章搜索:  
用表单来提交sql(三)
作者:转载 来源:惠州维修
日期: 2006-11-20
放大字体显示 缩小字体显示 打印文章 推荐给朋友


列表 D: buildSQLInsert函数的最终版。


<%
function buildSQLInsert( targetTable, omitFields)
     iStr = "insert into " & targetTable & " "
     vStr = "values ("
     nStr = "("
     ' 在表单集合中循环,并建立起SQL语句的组成部分
     for each x in request.form
         fieldName = uCase(x)
         ' 判断字段是否被省略?
         if inStr(uCase(omitFields),x) = 0 then
            fieldData = replace(request.form(fieldName), _
                "'", "''")
            ' 如果没有数据,就插入 NULL
            if trim(fieldData) = "" then
                fieldData = "NULL"
                vStr = vStr & fieldData & ", "
                nStr = nStr & fieldName & ", "
            else
                typeDelimPos = inStr(fieldName, "_")
                if typeDelimPos = 0 then
                   ' 是文本字段
                   ' 建立字段名列表
                   nStr = nStr & fieldName & ", "
                   vStr = vStr & "'" & fieldData & "', "
                else
                   ' 字段是其它类型
                   fieldType = left(fieldName, typeDelimPos - 1)
                   fieldName = mid(fieldName, typeDelimPos + 1)
                   ' 把字段名加入名称列表
                   nStr = nStr & fieldName & ", "
                   ' 把字段类型变成大写以确保匹配
                   select case uCase(fieldType)
                       case "NUM"
                       vStr = vStr & fieldData & ", "
                       '把不明类型按文本型处理
                       case else
                       vStr = vStr & "'" & fieldData & "', "
                   end select
                end if   
            end if
         end if
     next

     ' 把结尾的", " 从我们建立的字符串中去掉
     vStr = left(vStr, len(vStr) - 2) & ")"
     nStr = left(nStr, len(nStr) - 2) & ") "

     ' 把SQL语句整合起来
     buildSQLInsert = iStr & nStr & vStr
end function


if trim(request("fName")&request("lname")&request("age")) <> "" then
     response.write( buildSQLInsert("") & "<BR<")
     response.write( buildSQLInsert("NUM_AGE") & "<BR>")
     response.write( buildSQLInsert("lname,fname") & "<BR>")
     response.write( buildSQLInsert("mycheckbox,fname") &
     =<"<BR<")
else
%>

<html>
<body>
<form name=f method=post action="列表4.asp">
Gimme your:

First Name: <input type=text name="fName"<

Last Name: <input type=text name="lName"<

Age: <input type=text name="num_age"<

<input type="checkbox" value="Y" name="MyCheckBox"<Do you want this checked?

<input type="submit" value="Submit">
</form>
</body>
</html>

<%
end if
 %>




列表 D: buildSQLInsert函数的最终版。


<%
function buildSQLInsert( targetTable, omitFields)
     iStr = "insert into " & targetTable & " "
     vStr = "values ("
     nStr = "("
     ' 在表单集合中循环,并建立起SQL语句的组成部分
     for each x in request.form
         fieldName = uCase(x)
         ' 判断字段是否被省略?
         if inStr(uCase(omitFields),x) = 0 then
            fieldData = replace(request.form(fieldName), _
                "'", "''")
            ' 如果没有数据,就插入 NULL
            if trim(fieldData) = "" then
                fieldData = "NULL"
                vStr = vStr & fieldData & ", "
                nStr = nStr & fieldName & ", "
            else
                typeDelimPos = inStr(fieldName, "_")
                if typeDelimPos = 0 then
                   ' 是文本字段
                   ' 建立字段名列表
                   nStr = nStr & fieldName & ", "
                   vStr = vStr & "'" & fieldData & "', "
                else
                   ' 字段是其它类型
                   fieldType = left(fieldName, typeDelimPos - 1)
                   fieldName = mid(fieldName, typeDelimPos + 1)
                   ' 把字段名加入名称列表
                   nStr = nStr & fieldName & ", "
                   ' 把字段类型变成大写以确保匹配
                   select case uCase(fieldType)
                       case "NUM"
                       vStr = vStr & fieldData & ", "
                       '把不明类型按文本型处理
                       case else
                       vStr = vStr & "'" & fieldData & "', "
                   end select
                end if   
            end if
         end if
     next

     ' 把结尾的", " 从我们建立的字符串中去掉
     vStr = left(vStr, len(vStr) - 2) & ")"
     nStr = left(nStr, len(nStr) - 2) & ") "

     ' 把SQL语句整合起来
     buildSQLInsert = iStr & nStr & vStr
end function


if trim(request("fName")&request("lname")&request("age")) <> "" then
     response.write( buildSQLInsert("") & "<BR<")
     response.write( buildSQLInsert("NUM_AGE") & "<BR>")
     response.write( buildSQLInsert("lname,fname") & "<BR>")
     response.write( buildSQLInsert("mycheckbox,fname") &
     =<"<BR<")
else
%>

<html>
<body>
<form name=f method=post action="列表4.asp">
Gimme your:

First Name: <input type=text name="fName"<

Last Name: <input type=text name="lName"<

Age: <input type=text name="num_age"<

<input type="checkbox" value="Y" name="MyCheckBox"<Do you want this checked?

<input type="submit" value="Submit">
</form>
</body>
</html>

<%
end if
 %>
来源:动网先锋

文章页数:[1] 
帮助你我他: 1.我有问题请教 2.我要投稿>>>
更多相关资料搜索:
热点文章
最新文章
相关文章
版权申明:除部分特别声明不要转载,或者授权本站独家播发的文章外,大家可以自由转载本站的原创文章,但原作者和来自本站的链接必须保留(非本站原创的,按照原来自一节,自行链接)。文章版权归本站和作者共有。
转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去本站水印。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
发表评论  打印  刷新  推荐给朋友  返回顶部  关闭

网上大名: