VB用代码连接SQL数据库和对数据库进行查询用到的控件有(1)DataGrid(2)Adodc;这两个插件都是要自己添加的;添加的方法是:工程/部件;然后勾选Micrsoft ADO Data Control 6.0(OLEDB),和勾选Microsoft DataGrid Control6.0(OLEDB)。勾选完两个控件之后在工具箱里可以看到这两个工具。
一:定义3个全局变量:
Option Explicit
Dim strConn As String
Dim Rs  As New ADODB.Recordset
Dim Conn As New ADODB.Connection
二:定义两个函数,一个叫ConnectSybase是用来连接数据库和表;一个叫USESQL是用来进行SQL语句的查询;代码如下:
Public Function ConnectSybase(dbn, tbn) As Boolean
    On Error GoTo ErrMsg
    If Conn.State = adStateOpen Then
       Conn.Close
    End If '判断数据库是否已经打开 如果打开则先关闭
    strConn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=" & dbn & " ;Data Source=XL-683866318399"
‘进行对数据库的连接服务器已经默认为XL-683866318399,需要输入的参数
’是dbn数据库名
    Conn.Open strConn
    Rs.Open "Select * from  " & tbn, Conn, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = Rs
‘进行表的连接,需要输入的参数为tbn表的名字
     ConnectSybase = True
    Exit Function
ErrMsg:
    MsgBox "连接数据库错误,请重新输入参数!", 16
    ConnectSybase = False
End Function 
‘-------------------------------------------------------------------------------------------‘-------------------------------------------------------------------------------------------
Public Function USESQL(Index, sql) As Boolean
    '判断记录集是否已经打开 如果打开则先关闭
    If Rs.State = adStateOpen Then
       Rs.Close
    End If
    On Error GoTo ErrMsg   
    Dim strSQL As String
    strSQL = sql
 '"Select * from gds0" 'strSQL可以是SQL语句(块),存储过程
    Rs.CursorLocation = adUseClient‘?????????????????????????
    Rs.Open strSQL, Conn 'Conn为打开的活动的连接
    USESQL = True
    Exit Function
ErrMsg:
    MsgBox "语句执行失败,请重新输入!" & strSQL, 16
    USESQL = False
End Function
‘-------------------------------------------------------------------------------------------‘-------------------------------------------------------------------------------------------
三:两个commandbutton的功能分别是进行数据库的连接,和进行SQL语句的查询;代码如下
Private Sub Command1_Click()
    If USESQL(1, Text1.Text) Then
        Set DataGrid1.DataSource = Rs
    Else
        Exit Sub
    End If
End Sub
Private Sub Command2_Click()
   If ConnectSybase(Text2.Text, Text3.Text) Then
    Command2.Enabled = True
   Else
    Exit Sub
   End If   
End Sub
VB连接SQL server的代码就是这样啦~如果有错希望大家提出,这里我还想提个问题Rs.CursorLocation = adUseClient这句是什么意思:我还希望有高手能够把各个语句的作用和语法解析一下~~因为这些代码有些我是知道意思~但不知道他为什么这样,希望各位大哥各抒己见~谢谢~~