VB初学者问题:
求代码完成:
1.连接SQL Server
2.读入一个表
3.把表显示在一个网格里。

解决方案 »

  1.   

    Private Sub Form_Load()
    Dim conn As ADODB.Connection
    Dim rss As ADODB.Recordset
    Dim sql As String
    Set conn = New ADODB.Connection
    With conn
    .Provider = "microsoft.jet.oledb.4.0"
    .Open "c:\数据库名.mdb"
    End With
    Set rss = New ADODB.Recordset
    sql = "select * from 表 " 'where 字段名 like '%" & Text1.Text & "%'"
    rss.Open sql, conn, adOpenKeyset, adLockOptimistic
    RefreshSet MSHFlexGrid1.DataSource = rssEnd Sub
      

  2.   

    谢谢楼上,但是我想要SQL Server的
      

  3.   

     
    With conn 
    .Provider = "microsoft.jet.oledb.4.0" 
    .Open "c:\数据库名.mdb" 
    End With 
    改为sql  conn.ConnectionString   =   "Driver={sql   server};server=JSZX3-11;uid=sa;pwd=;database=wzc"   
    conn.ConnectionTimeout   =   30   //可有可无
    conn.Open   
      

  4.   

    Private Sub Form_Load() 
    Dim conn As ADODB.Connection 
    Dim rss As ADODB.Recordset 
    Dim sql As String 
    Set conn = New ADODB.Connection 
    With conn 
    .Provider = "microsoft.jet.oledb.4.0" 
    .Open "c:\数据库名.mdb" 
    End With 
    Set rss = New ADODB.Recordset 
    sql = "select * from 表 " 'where 字段名 like '%" & Text1.Text & "%'" 
    rss.Open sql, conn, adOpenKeyset, adLockOptimistic 
    Refresh Set MSHFlexGrid1.DataSource = rss End Sub
      

  5.   

    :我的一个程序段,帮你将表的数据进入【网格】:
    --按你的表,改改就行了。
    Private Sub Command4_Click() '显示数据
    On Error Resume Next
    Dim I, Q As Integer
    Dim J, Rec01 As Integer
    Dim NUM As Double
    clea_xy   '刷新网格
    '-----
    'Dim rs4 As ADODB.Recordset
    Set RS4 = New ADODB.Recordset
    'Text1.Text = ""
    RS4.Open "select 编号,类别,品种,库存量,单位,入库价,上限,下限,出库价,成本价,日期,拼音首字,备注 from BG_L_ZKPM order by 编号 ", mConn, adOpenStatic, adLockOptimistic
    '-----
    I = 0
    Do While Not RS4.EOF
    I = I + 1    '  I 中保存记录个数
    RS4.MoveNext
    LoopMSFlexGrid1.Rows = I + 1 '动态设置MSFlexGrid的行和列
    MSFlexGrid1.Cols = RS4.Fields.Count + 1
    MSFlexGrid1.Row = 0
    For I = 0 To RS4.Fields.Count - 1
    MSFlexGrid1.Col = I  '+ 1
    MSFlexGrid1.Text = RS4.Fields.Item(I).name
        If RS4.Fields(I).DefinedSize < 40 Then
             MSFlexGrid1.ColWidth(I) = 1400
         Else
             MSFlexGrid1.ColWidth(I) = 2200
         End IfNext                     '设置第一行的标题,用域名填充
    RS4.Close
    I = 0
      Set RS4 = New ADODB.Recordset
      RS4.Open "select 编号,类别,品种,库存量,单位,入库价,上限,下限,出库价,成本价,日期,拼音首字,备注 from BG_L_ZKPM order by 编号", mConn, adOpenStatic, adLockOptimistic
      I = RS4.RecordCount
    NUM = 0  Q = I
       If Q < 10 Then
             MSFlexGrid1.Rows = 10
       Else
             MSFlexGrid1.Rows = Q + 1
      End If
      I = 0
      Screen.MousePointer = 0
      Do While Not RS4.EOF
        I = I + 1
        MSFlexGrid1.Row = I
        For J = 0 To RS4.Fields.Count - 1
          MSFlexGrid1.Col = J  '+ 1
          MSFlexGrid1.Text = RS4(J) '添充所有的列
          If MSFlexGrid1.Col = 3 Then NUM = NUM + Val(RS4(J))
        Next
        RS4.MoveNext
      Loop  '这个循环用来填充MSFlexGrid的内容
      MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
      I = I + 1
      MSFlexGrid1.Row = I
      MSFlexGrid1.Col = 2
      MSFlexGrid1.Text = "合计:"
      MSFlexGrid1.Col = 3
      MSFlexGrid1.Text = NUM
      RS4.Close
      MSFlexGrid1.ToolTipText = "[有效记录:]  " + CStr(Q) + "条,    [货品合计(数量):]  " + CStr(NUM) End Sub