» 网友学堂 » ASP教程 » 为输入及输出的数据库的资料做造型 -> 查看 2007年02月16日 更新
为输入及输出的数据库的资料做造型
作者:问天 发表时间:2007-2-16 14:40 阅读:115次 在百度搜索相关内容

在&;#35342;&;#35542;&;#21312;上有&;#35377;多&;#32178;友&;#21839;到按怎&;#34389;理&;#38617;引&;#34399;的&;#21839;&;#38988;, &;#25841;有&;#32178;友&;#21839;到由&;#36039;料&;#24235;抓出&;#20358;的&;#36039;料&;#28961;法&;#26039;行的&;#21839;&;#38988;, 其&;#23526;在 VBscript 有一支 Replace 函&;#25976;可以&;#20358;&;#24171;助咱&;#20497;&;#34389;理&;#36889;款&;#21839;&;#38988;, 所以今日的文章就要&;#20358;&;#35342;&;#35542;用 Replace &;#20358;替&;#36039;料做造型

Replace 函&;#25976;

一&;#38283;始&;#36996;是&;#20358;看看 Replace 的&;#35486;法

Replace(搜&;#23563;字串, 字串甲, 字串乙[, &;#38283;始位置][, &;#35336;&;#25976;][, 比&;#36611;方式]]]))

意思是&;#36889;&;#27171;的: 由 搜&;#23563;字串 的 &;#38283;始位置 找起, 找出字串甲, &;#20006;&;#23559;它置&;#25563;成 字串乙, &;#32317;共要做 &;#35336;&;#25976; 次
比&;#36611;方式可以是下底的值

vbBinaryCompare - 0 (&;#38928;&;#35373;值), 二&;#36914;位比&;#36611;, 也就是大小&;#23531;&;#21312;分
vbTextCompare - 1 , 文字模式比&;#36611;, 不&;#21312;分大小&;#23531;
VBscript 字串常&;#25976;

&;#36889;&;#35041;列出一些 VBscript 的字串常&;#25976;供大家&;#21443;考

常&;#25976; 值 &;#35498;明
vbCr Chr(13) Carriage Return
vbCrLf Chr(13) &;amp; Chr(10) Carriage Return and Line Feed
vbLf Chr(10) Line Feed
vbNewLine Chr(13) &;amp; Chr(10) 或 Chr(10) New Line
vbTab Chr(9) Tab (horizontal)


&;#34389;理&;#21934;&;#38617;引&;#34399;

&;#29694;在就先&;#20358;看看&;#35342;&;#35542;&;#21312;上最常&;#21839;到的&;#21839;&;#38988;, 由於在下 SQL 指令如 Insert, Update, 你&;#26371;&;#23559;&;#36039;料用&;#21934;引&;#34399;包起&;#20358;, 就&;#35242;像按呢

Update SomeTable Set Col001='你的&;#36039;料' Where Col002='&;#26781;件'

但如果你的&;#36039;料中含有&;#21934;(&;#38617;)引&;#34399;, 那&;#40636; SQL 就&;#26371;搞不清楚&;#36889;是&;#36039;料的分隔符&;#34399;或是&;#36039;料本身, 因此我&;#20497;必&;#38920;要利用 Replace 函&;#25976;把&;#21934;引&;#34399;再重&;#35079;一次, 按呢 SQL 才&;#26371;懂&;#36889;是&;#36039;料一部份, 至於&;#38617;引&;#34399;部分由於使用 Replace(String, """, """") 似乎是行不通, 因此咱&;#20497;使用另一&;#20491;方式 - ASCII &;#30908;, &;#38617;引&;#34399;的 ASCII &;#30908;&;#28858; 34 , 因此我&;#20497;&;#23559; CHR(34) 置&;#25563;&;#28858; CHR(34), &;#38614;然&;#27794;有&;#25563;不&;#36942;至少&;#39449;&;#36942; SQL Server, &;#36948;成目的就好, 好! &;#20358;看看函&;#25976;按怎&;#23531;

Function FormatQuote(String)
On Error Resume Next
String = Replace(String,"'","''")
String = Replace(String,chr(34),chr(34))
FormatQuote = String
End Function

&;#36664;出&;#36039;料&;#26039;行

&;#25841;&;#20358;&;#20358;看第二&;#20491;&;#21839;&;#38988; - &;#36039;料由&;#36039;料&;#24235;拉出後在 HTML 格式上&;#28961;法&;#26039;行的&;#21839;&;#38988;, &;#36889;&;#20491;&;#21839;&;#38988;是很正常的, 因&;#28858;在 HTML 上的&;#25563;行是 <br> 所以它不&;#35469;&;#35672; Line Feed - CHR(10) 和 Carriage Return - CHR(13), 同款的利用 Replace 函&;#25976;&;#20358;做&;#34389;理, &;#23559;其&;#36681;&;#25563;成&;#28858; HTML 的 <p> 或是 <br> , 另外由於 HTML 只&;#35469;一&;#20491;空白字元, 所以也要&;#23565;空白字元做&;#34389;理, &;#23559;其&;#36681;&;#25563;成 &;amp;nbsp; , 最後的考量就是 HTML 的&;#27161;&;#31844;分隔符&;#34399; < > , 如果你的&;#36039;料中有可能含有&;#36889;&;#27171;的格式, 你可以加上第 6, 7 行

Function FormatStr(String)
On Error Resume Next
String = Replace(String, CHR(13), "")
String = Replace(String, CHR(10) &;amp; CHR(10), "<P>")
String = Replace(String, CHR(10), "<BR>")
String = Replace(String, CHR(32), " ")
String = Replace(String, "<", "&;amp;lt;")
String = Replace(String, ">", "&;amp;gt;")
FormatStr = String
End Function

希望&;#36889;篇文章&;#23565;你有&;#24171;助!

#Advertisement