资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

在VB中如何判断程序所在的电脑有没有安装SQL SERVER?

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

在VB中如何判断程序所在的电脑有没有安装SQL   SERVER?

网友回答:

发表者:slmn

用ADO连接。要是连不上那就是没装:D

发表者:gugh

顶一下

发表者:zahota

设置错误陷阱,和二楼一样,使用ADO连接,正常则正确执行,异常则转入错误处理

发表者:zgvslch

同意设置错误陷阱  
  On   Error   GoTo   ErrHandler  
  Dim   conOnlineBank   As   ADODB.Connection  
  Set   conOnlineBank   =   New   Connection  
  With   conOnlineBank  
          .CommandTimeout   =   5  
          .ConnectionString   =   "User   ID=sa;Password=;data   source   =127.0.0.1;Initial   Catalog=OnlineBanking"  
          .Provider   =   "SQLOLEDB"  
          .Open  
  End   With  
  Exit   Sub  
  ErrHandler:  
  If   Err.Number   =   -2147467259   Then  
  MsgBox   "SQL数据库不存在"  
  End   If

发表者:lyj0558

连不上不等于没装

发表者:zgvslch

Private   Declare   Function   GetComputerName   Lib   "kernel32"   Alias   "GetComputerNameA"   (ByVal   lpBuffer   As   String,   nSize   As   Long)   As   Long  
  Dim   ServerName()   As   String  
  Dim   Server   As   String  
  Dim   I   As   Long  
  Dim   j   As   Long  
   
  Public   Function   SQLServerList(ByRef   strServerName()   As   String,   _  
                                                              Optional   ByRef   rlngErrNum   As   Long,   _  
                                                              Optional   ByRef   rstrErrDescr   As   String)   As   Boolean  
                                                               
        Dim   objServerApp   As   SQLDMO.Application  
        Dim   objServers   As   SQLDMO.NameList  
        Dim   lngServerCount   As   Long  
        On   Error   GoTo   SQLServerListErr  
         
        SQLServerList   =   False  
        Set   objServerApp   =   New   SQLDMO.Application  
        Set   objServers   =   objServerApp.ListAvailableSQLServers  
         
        lngServerCount   =   objServers.Count  
        ReDim   strServerName(lngServerCount   -   1)        
        For   I   =   1   To   lngServerCount        
              strServerName(I   -   1)   =   objServers.Item(I)      
        Next   I        
        SQLServerList   =   True        
        Err.Clear  
  SQLServerListErr:  
        Set   objServers   =   Nothing  
        Set   objServerApp   =   Nothing  
         
        rlngErrNum   =   Err.Number  
        rstrErrDescr   =   Err.Description  
  End   Function  
   
  Private   Sub   Command1_Click()  
          Dim   strString   As   String  
          strString   =   String(255,   Chr$(0))  
          得到计算机名  
          GetComputerName   strString,   255  
          strString   =   Left$(strString,   InStr(1,   strString,   Chr$(0))   -   1)  
  Call   SQLServerList(ServerName())  
  For   I   =   0   To   UBound(ServerName)  
          If   ServerName(I)   =   strString   Or   ServerName(I)   =   "(local)"   Then   MsgBox   "有"  
          Exit   Sub  
  Next  
  End   Sub  
   
   
 

发表者:lihonggen0

我觉得还是判断注册表比较好,如果SQL   SERVER服务没有启动,上面的代码是不行的  
   
  一般是看看注册表中是否有这项  
  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Setup  
 

发表者:lxcc

注册表比较好!

发表者:dinky

用winsock连接1433端口

发表者:adong1980

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer

发表者:dazui

是啊,注册表


 

 
热门推荐笔记本: 清华同方笔记本
相关文章:
笔记本相关:
IT技术文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved