摘要载入中…    请稍等…















内容载入中…    请稍等…

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

2009-1-5 21:05:51   来源:互联网  

   

 ·Excel2000数据库管理 ·VB中实现同一窗口的多个实例及控件的动态 ·生成一个透明窗体

在数据库应用中, 经常要动态生成 Select 语句,典型的情况:
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) 
 [1]