| | |
| | |
列表 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:<br> First Name: <input type=text name="fName"<<br> Last Name: <input type=text name="lName"<<br> Age: <input type=text name="num_age"<<br> <input type="checkbox" value="Y" name="MyCheckBox"<Do you want this checked?<br> <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:<br> First Name: <input type=text name="fName"<<br> Last Name: <input type=text name="lName"<<br> Age: <input type=text name="num_age"<<br> <input type="checkbox" value="Y" name="MyCheckBox"<Do you want this checked?<br> <input type="submit" value="Submit"> </form> </body> </html>
<% end if %>
| |
|
|
| |
| |
|