日期:2014-05-16 浏览次数:20767 次
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