我用ado已经连接了数据库,用datagrid1显示了出来
还有text1,combo1等控件显示其某一字段内容,控件都是绑定的,另外还有一个command保存按钮,我在对text1内容修改的时候,没有点command保存按钮,它就自动保存了,我想点命令按钮的时候它才保存,该怎么做?
我试过修改DataGrid1.AllowUpdate .AllowAddNew .AllowDelete 属性,但是还没有解决问题,我想的我的操作是可能直接对数据库在操作,我现在只是想点保存的时候,它才保存,谁能帮帮我?

解决方案 »

  1.   

    不要用控件,用ADOODB对象做,不要绑定对象
      

  2.   

    我只是会绑定来做,用adodb对象还不会
      

  3.   

    我只是会绑定来做,用adodb对象还不会
      

  4.   

    绑定就是这样,当当前记录发生改变时,会自动保存用户对绑定字段的修改。
    建议你还是学习一下用ado的对象访问操纵数据库的方法,那样比较自由灵活。
    怕什么麻烦呢,什么东西不是学出来的啊?
      

  5.   

      如果不绑定,到是可以解决这个问题,但是会出现另外个问题,text的内容不能动态的显示表的字段,它只是一个初始load事情的当前记录,不能随如点击事件改变内容
      

  6.   

    下面是我没有用绑定用的部分代码的部分代码
      到是可以解决这个问题,但是会出现另外个问题,text的内容不能动态的显示表的字段,它只是一个初始load事情的当前记录,不能随如点击事件改变text的 内容
    Private Sub form_Load()
     Adodc1.RecordSource = "select * from consumeTable order by price asc "
     Text1.Text = Adodc1.Recordset.Fields(0).Value
    Text2.Text = Adodc1.Recordset.Fields(1).Value
    Combo1.Text = Adodc1.Recordset.Fields(2).Value
    end sub
    Private Sub cmdSave_Click()
    Adodc1.Recordset.Fields(0).Value = Text1.Text
    Adodc1.Recordset.Fields(1).Value = Text2.Text
    Adodc1.Recordset.Fields(2).Value = Combo1.TextAdodc1.Recordset.UpdateBatch
    End SubPrivate Sub DataGrid__RowcolChange(LastRow As Variant, ByVal LastCol As Integer) '显示
    On Error Resume Next
    Text1.Text = Adodc1.Recordset.Fields(0).Value
    Text2.Text = Adodc1.Recordset.Fields(1).Value
    Combo1.Text = Adodc1.Recordset.Fields(2).Value
    Adodc1.Refresh
    End Sub
      

  7.   

    可以把下面这个事件处理程序中的内容:
    Private   Sub   DataGrid__RowcolChange(LastRow   As   Variant,   ByVal   LastCol   As   Integer)   '显示 
    On   Error   Resume   Next 
    Text1.Text   =   Adodc1.Recordset.Fields(0).Value 
    Text2.Text   =   Adodc1.Recordset.Fields(1).Value 
    Combo1.Text   =   Adodc1.Recordset.Fields(2).Value 
    Adodc1.Refresh 
    End   Sub 放到adodc1的MoveComplete事件中去处理。