我的工程是用MSSQL做后台数据库,,装后要创建数据库,,
请问怎样判断机子上是否装有,若没有则提示后退出???请高手赐教~~~~~~~
请问怎样判断机子上是否装有,若没有则提示后退出???请高手赐教~~~~~~~
解决方案 »
- 大家一起来做一个开源的vb p2p程序如何?
- 联想的错、还是我的错呢???????
- 谁能提供像这样的万年历 源代码
- 刚才签了卖身契,散分
- 请问DataGrid控件为什么不支持Data控件,还有没有除MSFlex控件之外的控件支持?
- 大家帮帮我吧!
- 如何让webBrowser控件只加载特定网页的特定内容,其他的不加载?
- 在线等待,我想在自己的一个文件夹中备份......
- 怎样用API关机?
- 请问如何调用 RegisterWindowMessage 函数来得到 findtext 函数(comdlg32.dll里的[查找对话框]函数)的消息?
- MsFlexGrid控件数据显示问题?
- 任务栏显示程序的图标
如何列举出网络上所有的SQL Server服务器
http://www.zahui.com/html/14/33315.htm
Dim cnn As New ADODB.Connection
cnn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pubs"
cnn.Open
If cnn.State <> 1 Then
MsgBox "没有安装SQL Server!"
Unload Me
End IfEnd Sub
On Error Resume Next
Dim cnn As New ADODB.Connection
cnn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pubs"
cnn.OpenIf cnn.State <> 1 Then
MsgBox "没有安装SQL Server!"
Unload Me
End IfEnd Sub
'测试一下代码
Private Declare Function OpenService Lib "advapi32.dll" Alias "OpenServiceA" (ByVal hSCManager As Long, ByVal lpServiceName As String, ByVal dwDesiredAccess As Long) As Long
Private Declare Function GetLastError Lib "kernel32" () As Long
Private Declare Function OpenSCManager Lib "advapi32.dll" Alias "OpenSCManagerA" (ByVal lpMachineName As String, ByVal lpDatabaseName As String, ByVal dwDesiredAccess As Long) As Long
Private Const ServiceName = "MSSQLSERVER"'安装了MSSQL肯定会在系统中注册这个服务
Private Const SERVICES_ACTIVE_DATABASE = "ServicesActive"
Private Const GENERIC_READ = &H80000000
Private Const ERROR_SERVICE_DOES_NOT_EXIST = 1060&
Private Sub Command1_Click()
Dim getManager As Long
getManager = OpenSCManager("", "ServicesActive", GENERIC_READ)
If OpenService(getManager, "MSSQLSERVER", GENERIC_READ) Then
MsgBox "有MSSQLSERVER服务,安装了MSSQLSERVER"
Else
If GetLastError = ERROR_SERVICE_DOES_NOT_EXIST Then
MsgBox "指定的服务不存在, 没有安装MSSQLSERVER"
End If
End If
End Sub
(lpServer As Any, ByVal lLevel As Long, vBuffer As Any, _
lPreferedMaxLen As Long, lEntriesRead As Long, lTotalEntries As Long, _
ByVal lServerType As Long, ByVal sDomain$, vResume As Any) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination _
As Any, Source As Any, ByVal Length As Long)
Private Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As LongPrivate Type SV_100
platform As Long
name As Long
End Type
Private Sub Form_Load()
Combo1.ClearDim sv100 As SV_100, nRet As Long, i As Long, lServerInfo As Long
Dim lPreferedMaxLen As Long, lEntriesRead As Long
Dim lTotalEntries As Long, sDomain As String, vResume As Variant
Dim buffer() As Byte, nLen As Long
lPreferedMaxLen = 65536
nRet = NetServerEnum(0, 101, lServerInfo, lPreferedMaxLen, lEntriesRead, lTotalEntries, 4, sDomain, vResume)
If nRet = 0 Or nRet = 234& Then
For i = 0 To lEntriesRead - 1
CopyMemory sv100, ByVal lServerInfo, Len(sv100)
nLen = lstrlenW(sv100.name) * 2
If nLen Then
ReDim buffer(0 To (nLen - 1)) As Byte
CopyMemory buffer(0), ByVal sv100.name, nLen
End If
Combo1.List(i) = buffer '服务器名
lServerInfo = lServerInfo + 24
Next i
End If
end sub
这段代码我在用的,VB6 - sql2000