3.使用文本数据绑定控件修改数据" />
当前位置: 代码迷 >> SQL >> 3.使用文本数据绑定控件修改数据
  详细解决方案

3.使用文本数据绑定控件修改数据

热度:83   发布时间:2016-05-05 14:13:59.0
VB操作SQL Server(四)——数据修改(改)

在前面的博客中,我们已经学习过了一些VB操作SQL Server的简单方法,如下:

VB操作SQL Server(一)——如何连接数据库

VB操作SQL Server(二)——数据录入(增)

VB操作SQL Server(三)——数据删除(删)


今天,我们继续来完善知识网,学习数据修改:


VB中修改数据,不仅仅可以采用执行SQL语句实现,也可以通过数据绑定控件进行数据的修改。数据绑定控件进行数据的修改采用的代码较少,特别是一些表格类数据绑定控件,不需要代码即可对数据进行修改,如DataGrid控件。


1.使用Update语句修改数据

Update语句通过ADO对象的Execute方法执行,达到对数据表中的数据进行修改,语法如下:
Cnn.Execute"Update数据表名称 set字段1=表达式1,字段2=表达式2……where子句"

Update语句中可以使用where子句,还有符合条件的数据可执行修改操作,如果使用where指定条件,则Update语句会修改表中的全部数据

通常都是在批量更改时采用该语句,这种方法要比ADOUpdate方法逐条地修改数据方便,但VB中一些表格控件可以不需要代码而直观实现数据的批量修改



2.表格数据绑定控件修改数据

VB中采用表格数据绑定修改控件修改数据,基本上不需要代码,只需要设置表格数据绑定控件的一些属性即可实现,例如DataGrid控件,将其绑定到相应的数据源上,再设置其AllowUpdate属性为True,即可实现表格中修改的数据及时更新到数据库中
该属性可返回或设置一个值,指示用户能否修改DataGrid控件中的数据,语法:
DataGrid.AllowUpdate=布尔表达式

:使用DataGrid控件修改数据

Private Sub Form_Load()   '设置连接字符串   Adodc1.ConnectionString="Provider=SQLOLEDB;Persist Security Info=True;User ID=sa;Initial Catalog=student;Data Source=."   '设定数据源   Adodc1.CommandType=adcmdText   Adodc1.RecordSource="select * from student_Info order by student_ID"   '为DataGrid控件绑定数据源   Set DataGrid1.DataSouce=Adodc1   '允许DataGrid1控件更新表中的数据   DataGrid1.AllowUpdate=TrueEnd Sub

3.使用文本数据绑定控件修改数据

DataGrid控件不同,文本类控件绑定数据后在修改数据时,由于所修改的数据只是写入在缓存当中,所以需要通过ADOUpdate方法提交修改,另外,ADO还提供CancelUpdate方法,用此方法来撤销在使用Update方法前对数据所作的修改,在程序中使用CancelUpdate方法的代码如下:Adodc1.Recordset.CancelUpdate


:使用文本控件绑定数据并进行修改数据

'设置连接字符串与数据源,并绑定数据源Private Sub Form_Load()  Adodc1.ConnectiongString="Provider=SQLOLEDB;Persist Security Info=True;User ID=sa;Initial Catalog=student;Data Source=."  Adodc1.RecordSource="select * from Course_Info"  Set Text1.DataSource=Adodc1  Text1.DataField="课程名称"End Sub'提交保存数据Private Sub Commad1_Click()  Adodc1.Recordset.Update  MsgBox"保存成功!",vbOKOnly,"提示"End Sub '撤销数据修改Private Sub Command2_Click()  Adodc1.Recordset.CancelUpdateEnd Sub



在实践中熟练地掌握这些基本操作,让代码更易懂,让程序更灵活。


未完待续……



2楼lzh11107分钟前
实践中熟练地掌握.....真谛!
1楼wangyongxia92125分钟前
红了,哈哈
  相关解决方案