你还是好好看看SQL语句的使用吧!如果你装了msdn的化在如下目录中有很多例子
c:\Program Files\Microsoft Visual Statudio\MSDN98\98VS\2052\SAMPLES\VB98

解决方案 »

  1.   

    上面的是建立了连接,下面需要一个东西去操作数据,Recordset对象(记录集),它会把符合要求的记录作为一个集合暂存。
    dim adors as new adodb.recordset
    adors.open "表名",......很多参数(意义msdn找)
    你可以把adors绑定到datagrid这样的控件,也可以用rs("字段名")获取值
      

  2.   

    我刚学VB没多久,手头也没有MSDN,还是请大家详细说,分不夠可另加!!谢谢!!
      

  3.   

    DataGrid1表格控件返回数据Option Explicit
    Dim WithEvents adoUser As Recordset在过程中添加:
    Dim db As Connection
    Set db = New Connection
    db.CursorLoaction = adUseClient
    db.Open"Provider = Microsoft.Jet.OLEDB.4.0;Persist Security Info = False; Data Source = C:\...\db1.mdb;"
    Set adoUser = New Recordset
    adoUser.Open"select * form 表 Order by 字段2",db,adOpenStatic,adLockOptimistic
    Set DataGrid1.DataSource = adoUser
    查找事件:Dim i As String
    i = Text1.Text '获取匹配内容
    'ADO语句打开数据库
    Dim db As Connection
    Set db = New Connection
    db.CursorLoaction = adUseClient
    db.Open"Provider = Microsoft.Jet.OLEDB.4.0;Persist Security Info = False; Data Source = C:\...\db1.mdb;"adoUser.Close '清除网格数据
    Set adoUser = New RecordsetadoUser.Open "select * from 表 where 字段1 like '%" & i & "%' Order by 字段2", db, adOpenStatic, adLockOptimistic '静态,开放锁
    Set DataGrid1.DataSource = adoUser '赋值给DataGrid网格控件DataGrid1.R...sh '忘记了,VB会给你添上的
      

  4.   

    给你个我写的程序部分代码:
    主窗体(有DataGrid1控件,ADODC控件):
    Private Sub Command1_Click()  ‘新建按钮
        frmCunKuanJiZhang.Show
        'frmCunKuanJiZhang.db.Recordset.AddNew
        Me.Enabled = False
    End SubPrivate Sub Command2_Click()  ’修改按钮
        Dim i As Integer
        Dim m As Integer
        i = db.Recordset.AbsolutePosition
        For m = 0 To 10
            DataGrid1.Col = m
            DataGrid1.Row = i - 1
            
    ‘向修改窗体传数据
            If m = 0 Then frmGaiCunDan.DTPicker1.Value = CStr(DataGrid1.Text)
            If m = 1 Then frmGaiCunDan.Text1.Text = CStr(DataGrid1.Text)
            If m = 2 Then frmGaiCunDan.Combo4.Text = CStr(DataGrid1.Text)
            If m = 3 Then frmGaiCunDan.Combo1.Text = CStr(DataGrid1.Text)
            If m = 4 Then frmGaiCunDan.Text3.Text = CStr(DataGrid1.Text)
            If m = 6 Then frmGaiCunDan.Text2.Text = CStr(DataGrid1.Text)
            If m = 7 Then frmGaiCunDan.Text5.Text = CStr(DataGrid1.Text)
            If m = 8 Then frmGaiCunDan.Text4.Text = CStr(DataGrid1.Text)
            If m = 9 Then frmGaiCunDan.Combo3.Text = CStr(DataGrid1.Text)
            If m = 10 Then frmGaiCunDan.Combo2.Text = CStr(DataGrid1.Text)
        Next m
            
        frmGaiCunDan.Show
    End SubPrivate Sub Command3_Click()  ’删除按钮
        i = MsgBox("你真的要删除这条记录吗?", vbOKCancel + 32, "金盛温馨提示!删除!")
        If i = 1 Then
            On Error GoTo DeleteErr
            With db.Recordset
                .Delete
                .MoveNext
            If .EOF Then .MoveLast
            End With
        Exit Sub
    DeleteErr:
      MsgBox Err.Description
      
        End If
    End SubPrivate Sub Command6_Click()    ‘关闭按钮
        Me.Hide
        MDIForm1.Picture1.Visible = True
    End SubPrivate Sub Form_Load()
        'Set DataGrid1.DataSource = rs
        Me.Top = MDIForm1.Top + 100
        Me.Left = MDIForm1.Left + 100
        Me.Width = Screen.Width - 200
    End SubPrivate Sub Form_Resize()
        Me.Height = MDIForm1.Height - 2000
        Command6.Left = Me.Left + (Me.Width - Command6.Width) - 400
        Frame1.Left = 500
        Frame1.Width = Me.Width - 1000
        DataGrid1.Left = 400
        DataGrid1.Width = Me.Width - 1000
        DataGrid1.Top = Frame1.Top + 200
        DataGrid1.Height = Me.Height - Frame1.Top - 600
        Label1.Width = Screen.Width
        Label2.Width = Screen.Width
    End Sub新建窗体代码(没用数据控件):
    Option Explicit
    Public rs As ADODB.Recordset
    Public db As ADODB.ConnectionPrivate Sub Command1_Click()    ’确定新添
        Dim n As String
        Dim i As Integer
        Dim m As Integer
        Set db = New ADODB.Connection
        Set rs = New ADODB.Recordset
        db.ConnectionString = "driver={SQL Server};server=jcpan;database=jinshenglicai;"‘连接数据库    db.Open
        rs.Open "select * from J_dingqicunkuan", db, adOpenStatic, adLockReadOnly
        If Text1.Text <> "" Then
            rs.Close
            rs.Open "select cundanname from J_dingqicunkuan where cundanname='" & Trim(Text1.Text) & "'"
            If rs.EOF = False And rs.BOF = False Then
                n = MsgBox("非常遗憾!这个存单名称已经存在!那就在换一个吧!", 48 + 0, "金盛温馨提示!")
                Text1.SelStart = 0
                Text1.SelLength = Len(Text1.Text)
                Text1.SetFocus
            Else
                    rs.Close
                    rs.Open " insert into J_dingqicunkuan(cunrudate,cundanname,bizhong,cundanleixing,cunrujine,daoqijine,shuoming,zhanghao,lilv,kaihuhang,qixian) values ( '" & Trim(DTPicker1.Value) & "' , '" & Trim(Text1.Text) & "' ,'" & Trim(Combo3.Text) & "','" & Trim(Combo4.Text) & "'," & Trim(Text3.Text) & "," & Trim(Text3.Text) & ",'" & Trim(Text2.Text) & "','" & Trim(Text4.Text) & "','" & Trim(Text5.Text) & "','" & Trim(Combo2.Text) & "','" & Trim(Combo1.Text) & "')", db, adOpenStatic, adLockReadOnly
                    rs.Open "select * from j_dingqicunkuan", db, adOpenStatic, adLockReadOnly ’向数据库插入数据
                    
                    Me.Hide
                    frmcunkuanbiao.db.Refresh
                    frmcunkuanbiao.Enabled = True        End If
             
        Else
            m = MsgBox("看看你是否填了存单名称?", 32 + 0, "金盛温馨提示!请填存单名称!")
            Text1.SetFocus    End If
        rs.Fields.Refresh
        
    End SubPrivate Sub Command2_Click()    ‘取消按钮
        Me.Hide
        frmcunkuanbiao.Enabled = True
    End SubPrivate Sub Form_Load()
        Dim t As Integer
        Set db = New ADODB.Connection
        Set rs = New ADODB.Recordset
        db.ConnectionString = "driver={SQL Server};server=jcpan;database=jinshenglicai;"    db.Open
        
        DTPicker1.Value = Date$
        Me.Top = (Screen.Height - Me.Height) / 4
        Me.Left = (Screen.Width - Me.Width) / 2
    End Sub
      

  5.   

    那最好是用dataGrid绑定到ADO的结果集上,这样可以使所显示的数据与数据库保持
    热连接,也就是当你修改dataGrid中的记录时焦点离开这条数据的时候,将所改动的
    内容自动提交到数据库中.不需要写其他的代码.
      

  6.   

    那么应该是我的对了。DataGrid1表格控件返回数据Option Explicit
    Dim WithEvents adoUser As Recordset在form_load()过程中添加:
    Dim db As Connection
    Set db = New Connection
    db.CursorLoaction = adUseClient
    db.Open"Provider = Microsoft.Jet.OLEDB.4.0;Persist Security Info = False; Data Source = C:\...\db1.mdb;"
    Set adoUser = New Recordset
    adoUser.Open"select * form 表 Order by 字段2",db,adOpenStatic,adLockOptimistic
    Set DataGrid1.DataSource = adoUser
    查找按钮Command6_Click()事件:Dim i As String
    i = Text1.Text '获取匹配内容
    'ADO语句打开数据库
    Dim db As Connection
    Set db = New Connection
    db.CursorLoaction = adUseClient
    db.Open"Provider = Microsoft.Jet.OLEDB.4.0;Persist Security Info = False; Data Source = C:\...\db1.mdb;"adoUser.Close '清除网格数据
    Set adoUser = New RecordsetadoUser.Open "select * from 表 where 字段1 like '%" & i & "%' Order by 字段2", db, adOpenStatic, adLockOptimistic '静态,开放锁
    Set DataGrid1.DataSource = adoUser '赋值给DataGrid网格控件DataGrid1.R...sh '忘记了,VB会给你添上的
    添加事件:
    adoUser.AddNew删除事件:
       With adoUser
                .Delete
                .MoveNext
            If .EOF Then .MoveLast
            End With
        Exit Sub    其实没有必要这样罗嗦,你可以用VB的数据窗体先导,然后选择ADO代码项,一步一步地做下去,最后,再根据自己的需要,在代码上添加和修改就行了。