返回列表 发帖

[问题求助] [已解决]请教VBS如何排除无效的SQL语句?

Dim MacAddr
Set WMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colItems = WMI.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled='TRUE'")
For Each objItem In colItems
    NetName =  Replace(objItem.Description,"/","_")
    MacAddr = objItem.MacAddress
Next
Set colItems = Nothing
sql = """"&"select MacAddress From speed where macaddress = '" & Macaddr &"'"&""""
Set cn=WScript.CreateObject("ADODB.Connection")
Set rs=WScript.CreateObject("adodb.recordset")
cn.open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=\\win-pc\meno\vbs\ceshi.mdb"
rs.CursorLocation = 3
rs.open sql,cn,1,3
If Not rs.EOF Then
MsgBox "有"
Else
MsgBox "没有"
End IfCOPY
我想获取本机的mac地址,再与数据库中的macaddress字段查找一下是否已经有记录了。
但是脚本在这一句出现问题了。
sql = """"&"select MacAddress From speed where macaddress = '" & Macaddr &"'"&""""COPY
在这里改为使用变量后就运行出错。
错误提示:
脚本:  z:\3.vbs
行::   17
字符:  1
错误:  无效的SQL语句;期待'''DELETE、'INSERT'、'PROCEDURE'、'SELECT'、或'UPDATE'
代码:  80040E14
源:     Microsoft JET Database Engine

而我将变量取消调试的时候:
sql = "select MacAddress From speed where macaddress = '00-0C-29-50-37-D3'"COPY
这样又是正确的。

小弟初学,实在没辙,试过了好多方法,都没办法解决。特此诚心向各位高手、好汉、英雄们讨教应该如果加入变量?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 2# neorobin


    原来如此,原来是我想偏了。原来那么简单啊。多谢您,您都帮了我两次了。

TOP

sql = """"&"select MacAddress From speed where macaddress = '" & Macaddr &"'"&""""COPY
回复 1# 437153
修改为
sql = "select MacAddress From speed where macaddress = '" & Macaddr & "'"COPY
1

评分人数

TOP

返回列表