用表单来提交sql(转)3


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

 1   
 2function buildSQLInsert( targetTable, omitFields)   
 3iStr = "insert into " & targetTable & " "   
 4vStr = "values ("   
 5nStr = "("   
 6' 在表单集合中循环,并建立起SQL语句的组成部分   
 7for each x in request.form   
 8fieldName = uCase(x)   
 9' 判断字段是否被省略?   
10if inStr(uCase(omitFields),x) = 0 then   
11fieldData = replace(request.form(fieldName), _   
12"'", "''")   
13' 如果没有数据,就插入 NULL   
14if trim(fieldData) = "" then   
15fieldData = "NULL"   
16vStr = vStr & fieldData & ", "   
17nStr = nStr & fieldName & ", "   
18else   
19typeDelimPos = inStr(fieldName, "_")   
20if typeDelimPos = 0 then   
21' 是文本字段   
22' 建立字段名列表   
23nStr = nStr & fieldName & ", "   
24vStr = vStr & "'" & fieldData & "', "   
25else   
26' 字段是其它类型   
27fieldType = left(fieldName, typeDelimPos - 1)   
28fieldName = mid(fieldName, typeDelimPos + 1)   
29' 把字段名加入名称列表   
30nStr = nStr & fieldName & ", "   
31' 把字段类型变成大写以确保匹配   
32select case uCase(fieldType)   
33case "NUM"   
34vStr = vStr & fieldData & ", "   
35'把不明类型按文本型处理   
36case else   
37vStr = vStr & "'" & fieldData & "', "   
38end select   
39end if   
40end if   
41end if   
42next   
43  
44' 把结尾的", " 从我们建立的字符串中去掉   
45vStr = left(vStr, len(vStr) - 2) & ")"   
46nStr = left(nStr, len(nStr) - 2) & ") "   
47  
48' 把SQL语句整合起来   
49buildSQLInsert = iStr & nStr & vStr   
50end function   
51  
52  
53if trim(request("fName")&request("lname")&request("age")) <> "" then   
54response.write( buildSQLInsert("") & "

<br<") "<br="" &="" buildsqlinsert("num_age")="" response.write(="">")
response.write( buildSQLInsert("lname,fname") &amp; "<br/>")
response.write( buildSQLInsert("mycheckbox,fname") &amp;
=&lt;"<br<") <html="" ```="" else="">

Gimme your:
First Name: Last Name: Age:
1   
2end if   

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

 1   
 2function buildSQLInsert( targetTable, omitFields)   
 3iStr = "insert into " &amp;amp; targetTable &amp;amp; " "   
 4vStr = "values ("   
 5nStr = "("   
 6' 在表单集合中循环,并建立起SQL语句的组成部分   
 7for each x in request.form   
 8fieldName = uCase(x)   
 9' 判断字段是否被省略?   
10if inStr(uCase(omitFields),x) = 0 then   
11fieldData = replace(request.form(fieldName), _   
12"'", "''")   
13' 如果没有数据,就插入 NULL   
14if trim(fieldData) = "" then   
15fieldData = "NULL"   
16vStr = vStr &amp;amp; fieldData &amp;amp; ", "   
17nStr = nStr &amp;amp; fieldName &amp;amp; ", "   
18else   
19typeDelimPos = inStr(fieldName, "_")   
20if typeDelimPos = 0 then   
21' 是文本字段   
22' 建立字段名列表   
23nStr = nStr &amp;amp; fieldName &amp;amp; ", "   
24vStr = vStr &amp;amp; "'" &amp;amp; fieldData &amp;amp; "', "   
25else   
26' 字段是其它类型   
27fieldType = left(fieldName, typeDelimPos - 1)   
28fieldName = mid(fieldName, typeDelimPos + 1)   
29' 把字段名加入名称列表   
30nStr = nStr &amp;amp; fieldName &amp;amp; ", "   
31' 把字段类型变成大写以确保匹配   
32select case uCase(fieldType)   
33case "NUM"   
34vStr = vStr &amp;amp; fieldData &amp;amp; ", "   
35'把不明类型按文本型处理   
36case else   
37vStr = vStr &amp;amp; "'" &amp;amp; fieldData &amp;amp; "', "   
38end select   
39end if   
40end if   
41end if   
42next   
43  
44' 把结尾的", " 从我们建立的字符串中去掉   
45vStr = left(vStr, len(vStr) - 2) &amp;amp; ")"   
46nStr = left(nStr, len(nStr) - 2) &amp;amp; ") "   
47  
48' 把SQL语句整合起来   
49buildSQLInsert = iStr &amp;amp; nStr &amp;amp; vStr   
50end function   
51  
52  
53if trim(request("fName")&amp;amp;request("lname")&amp;amp;request("age")) &amp;lt;&amp;gt; "" then   
54response.write( buildSQLInsert("") &amp;amp; "&lt;br&lt;") "&lt;br="" &amp;="" buildsqlinsert("num_age")="" response.write(=""&gt;")   
55response.write( buildSQLInsert("lname,fname") &amp;amp; "&lt;br/&gt;")   
56response.write( buildSQLInsert("mycheckbox,fname") &amp;amp;   
57=&amp;lt;"&lt;br&lt;") &lt;html="" ```="" else="">
58<body>
59<form action="列表4.asp" method="post" name="f">   
60Gimme your:<br/>   
61First Name: <input <<br="" name="fName" type="text"/>   
62Last Name: <input <<br="" name="lName" type="text"/>   
63Age: <input <<br="" name="num_age" type="text"/>
64<input <do="" checked?<br="" name="MyCheckBox" this="" type="checkbox" value="Y" want="" you=""/>
65<input type="submit" value="Submit"/>
66</form>
67</body>
68   
69  

end if

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus