说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在数据库应用中, 经常要动态生成 Select 语句,典型的情况:-VB资料

HTML文档下载 WORD文档下载 PDF文档下载
在数据库应用中, 经常要动态生成 Select 语句,典型的情况:-VB资料
SqlString = "Select * from myBas where Name = '" & Text1 & "'"
好啦, 问题出现了, 如果在录入的 Text1 中有一个单引号,结果是把 SqlString 发给数据库时, 将出错!

其实要做的防范很简单, 增加一个函数:

FUNCTION CheckString (s) as String
pos = InStr(s, "'")
While pos > 0
s = Mid(s, 1, pos) & "'" & Mid(s, pos + 1)
pos = InStr(pos + 2, s, "'")
Wend

CheckString="'" & s & "'"
END FUNCTION

以后在动态生成 Select 语句, 使用:
SqlString = "Select * from myBas where Name = " & CheckString(Text1)
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘