首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

新手开发进销存(私人收单)数据库访问不了解决方法

2012-01-19 
新手开发进销存(私人收单)数据库访问不了本人对ASP很懂,对VB就不太懂了,也没有开发过什么项目,前几天接了

新手开发进销存(私人收单)数据库访问不了
本人对ASP很懂,对VB就不太懂了,也没有开发过什么项目,前几天接了单,问问几个问题?
数据库是SQL
我想把连接数据库   Dim   Conn         As   New   ADODB.Connection   作为全局变量,在每个form   里新建RS   对数据库进行访问
但在form   里执行ExecuteSQL发生错误   错误号:3001   错误信息:参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
------Module1.bas-------
Sub   Main()

Dim   strConn   As   String
Dim   Conn         As   New   ADODB.Connection
Dim   rs             As   ADODB.Recordset
Dim   SQL           As   String
On   Error   GoTo   On_error:

strConn   =   "Provider=SQLOLEDB;Data   Source=janly;User   ID=sa;Password=sa;Initial   Catalog=JuHongERP;Persist   Security   Info=True "
Conn.CommandTimeout   =   5
Conn.Open   strConn

On_error:
If   Err.Number   =   -2147467259   Or   Err.Number   =   -2147217900   Then
        MsgBox   "服务器无响应,请确认服务器是正常工作的! ",   vbInformation   +   vbOKOnly,   "系统错误提示 "
        End
End   If


'启动登陆对话框
        Dim   fLogin   As   New   Login
        fLogin.Show   vbModal
        If   Not   fLogin.isLogining   Then
                End
        End   If
        Unload   fLogin

        Set   fMainForm   =   New   MainForm
        fMainForm.Show
End   Sub

Public   Function   ExecuteSQL(ByVal   SQL   As   String)   As   ADODB.Recordset
        On   Error   GoTo   ErrHandler:
        Dim   rs     As   New   ADODB.Recordset
        rs.Open   Trim$(SQL),   Conn,   adOpenKeyset,   adLockOptimistic
        Set   ExecuteSQL   =   rs
       
ErrHandler:
        '显示错误信息
        MsgBox   "发生错误   错误号: "   &   Err.Number   &   "   错误信息: "   &   Err.Description,   vbExclamation
        Call   RsClose
End   Function

Public   Sub   RsClose()
On   Error   Resume   Next
If   rs.State   <>   adStateClosed   Then   rs.Close
Set   rs   =   Nothing
End   Sub
-----------------------
--------form-----------
Private   Sub   Form_Load()
Dim   rs             As   ADODB.Recordset
Set   rs   =   ExecuteSQL( "SELECT   *   FROM   productsort ")   '就是这里返回有问题??
End   Sub
-----------------------

ExecuteSQL是不是写得不够好,要怎么写,我的CONN作为全局行不行的?

[解决办法]
Dim Conn As New ADODB.Connection


这个写个一个公共模块里声明成

public Conn as New adodb.connection
[解决办法]
CONN 在子模块中声明的 只有子模块可以调用了

[解决办法]
一般Conn 都是public的

热点排行
Bad Request.