日期:2014-05-16  浏览次数:20667 次

VBScript连接扩展名为.sdf的SQL CE数据库
Call Query()

Sub Query()

    Dim cnnStr, sqlStr
    Set cnn=CreateObject("ADODB.Connection")
    Set rs=CreateObject("ADODB.Recordset")

    '建立数据库连接
    cnnStr = "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source=Secured_db.sdf;SSCE:DataBase Password=123456"
    cnn.Open cnnStr

    '查询数据库
    sqlStr = "SELECT * FROM TRDX_HLDY_MASTER where HMA_HLDY_DATE='2012-10-7' and HMA_MKT_SRNO=1 and HMA_CLNDR_TYPE_INDC=0"
    rs.Open sqlStr, cnn	

    '判断查询结果是否有记录
    If rs.EOF = -1 Then
        MsgBox "没有记录"
    Else
        MsgBox "有记录"
    End If

    '关闭数据库连接
    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing

End Sub

?

?

问题一:程序报错“未找到提供程序。该程序可能未正确安装。”

可能是数据库连接字符串cnnStr有误,注意版本号要与SQL CE实际版本相匹配

?

问题二:程序报错“多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。”

还是数据库连接字符串cnnStr不正确导致,注意下面红色字体的地方,在VB里是可以省略的,但在VBScript中必须加上"Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source=Secured_db.sdf;SSCE:DataBase Password=123456"

?

问题三:程序报错“对象关闭时,不允许操作。”

下载并安装SQL Server Compact 3.5 SP1,文件名为SSCERuntime-CHS-x86.msi或者SSCERuntime-CHS-x64.msi,下载地址http://www.microsoft.com/zh-cn/download/details.aspx?id=5821