如题可能不太明白,我再解释一下。我是远程连接的sql server的,在vb中用的data environment连接的,当程序连接出现问题时(可能因为网络原因,可能因为远程服务器原因),会出现一个对话框,上面显示的数据库名称(公网的ip),登录数据库的用户名(sa),密码,数据源等,即让用户重新确定这些,然后确定或者取消。我不想用户在连接远程数据库不成功时,出现这个对话框,如何解决???小弟实在是想不出办法了,请各位有经验的高手帮忙,谢谢了。

解决方案 »

  1.   

    不要使用数据环境连接数据库,使用ado进行无源连接就不会出现登录窗口!
    '引用ado2.0
    dim con as connection
    set con=new connection
    con.ConnectionString = "driver={SQL Server};server=服务器地址;uid=用户名;pwd=秘密;database=数据库名称"
    con.open
      

  2.   

    在调用DE的地方设置:
    De.Connection1.ConnectionString="你的连接字符串"
      

  3.   

    楼上怎么不用ADO 连接哦?ADO 的操作和控制都蛮方便的啊!dim DBtest as new connection连接服务器
    ConnectString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;pwd=xxx;Data Source=IP"
    DBtest.ConnectionString = ConnectString
    DBtest.CursorLocation = adUseClient
    DBtest.ConnectionTimeout = 5
    DBtest.Open连接SQL数据库中某个数据库
    CSWithDB = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;PWD=XXX;Initial Catalog=" & DataBaseName & ";Data Source=IP"
    CNCsDB.ConnectionString = CSWithDB
    CNCsDB.CursorLocation = adUseClient
    CNCsDB.Open
      

  4.   

    我用的data environment中有些是较为固定的结果集,我现在不想改了,就想用dataenvironment实现。请问还有没有知道如何将出现的那个窗口屏蔽掉的呀??快急死了,就要被炒了,各位高手救命啊。
      

  5.   

    上面的问题已经解决了,再属性里面一个设置,改一下就ok了,谢谢大家了。另外,我又遇到一个问题,是这样的:在当我在连接数据库成功时,进入了一个窗体,此时可以进行正常操作,但是当在操作的过程中,如果网络突然断开了,我如何才能及时的扫描到网络出现问题?
    或者,在网络突然断开时,我里面用到了:判断一个connection的state,可是这种方法不行,不能及时的判断网络的连接,请问有什么好的方法?
    谢谢。在线等,急急急qq:16910775一般隐身。希望与各位高手交朋友。大家有项目时可以一起做:)
      

  6.   

    问题解决,用api就行。谢谢各位了,揭帖。