代码如下:'读数据库并在下拉框中显示结果
Public Sub readDB()
    Dim Cn As New ADODB.Connection
    Dim RS As New ADODB.Recordset
    Dim strCnn As String    ' 连接字符串
    Dim strSQL As String    ' SQL语句
    Dim i As Integer
    i = 0
    Cn.Provider = "sqloledb"
    Cn.Open "server=MyComputer;Initial Catalog=pubs;", "sa", ""
    strSQL = "select au_id from process where state= 'CA' group by au_id"
    Set RS = Cn.Execute(strSQL)
    While Not RS.EOF
        Combo1.AddItem (RS.Fields(0))  'Combo1是个下拉框控件
        RS.MoveNext
        i = i + 1
    Wend
    Set Cn = Nothing
    Set RS = Nothing
End sub'在UserControl_Initialize事件中调用readDB过程
Private Sub UserControl_Initialize()
    Call readDB
End Sub在本机运行没有问题,打包用IIS发布(嵌入html中),局域网内的其它机器下载后,无法显示此ActiveX控件,请问是什么原因?

解决方案 »

  1.   

    纠正
    SQL语句应是:
    strSQL = "select au_id from authors where state= 'CA' group by au_id"
    其它代码不变
      

  2.   

    控件签名没有?设置脚本安全没有?如果设置好了,那么
    那句改为:Cn.Open "Data source=MyComputer;Initial Catalog=pubs;"...试一试。
    如果你的其它参数没错,应该没问题。还不行,
    检查客户机上是负有OLE DB PROVIDER,没有的话,请用如下语句连接试试:
    Cn.Open "server=MyComputer;UID=sa;PWD=;Database=pubs"