在VB程序中格式化SQL字符串

发表于:2007-07-14来源:作者:点击数: 标签:
在写SQL语句时,需要对不同类型的数据分别加上#号,号等来表示,用以下函数,就可以实现操作的简化.不管是什么类型,只需用这个Q函数转化一下,不需动手加格式化符号,就OK了.实在是方便.本人一直在用它,实在是方便. Function Q(ByVal SqlVariable As Vari ant ) As
  在写SQL语句时,需要对不同类型的数据分别加上#号,""号等来表示,用以下函数,就可以实现操作的简化.不管是什么类型,只需用这个Q函数转化一下,不需动手加格式化符号,就OK了.实在是方便.本人一直在用它,实在是方便.

Function Q(ByVal SqlVariable As Variant) As String

'-----------------------------------------

' Notes: Useful in creating properly formatted SQL statements

' Usage: sql="select * from table where name= " & Q(vntName)

' 这个版本格式化适用于Aclearcase/" target="_blank" >ccess的变量,若支持其它数据库或许需要对其进行修改

'-----------------------------------------

On Error GoTo ErrTrap

Q = SqlVariable

'format the string

Select Case VarType(SqlVariable)

Case vbNull, vbEmpty

Q = "NULL"

Case vbString

Q = "'" & Replace(SqlVariable, "'", "''") & "'"

'date variable

Case vbDate

'format and enclose in pounds signs for Access

Q = "#" & Format$(SqlVariable, "general date") & "#"

'otherwise treat as numeric

Case Else

On Error Resume Next

Q = CStr(SqlVariable)

If Err.Number <> 0 Then Q = SqlVariable

End Select

Exit Function

ErrTrap:

On Error GoTo 0



End Function

原文转自:http://www.ltesting.net