目前在写一个软件,涉及到前台和数据库的交互,要能显示数据库,同时允许用户修改前台的数据,同时将修改传入后台进行数据库的更新。这其中涉及到数据显示的问题,所以采用了datagridview这个控件,主要是奔着显示方便的目的,当我碰到需要把前台数据传入后台时,就不知道怎么处理了,多方查找,找到了这个解决方法。主要是基于sqldataadapter.updata方法,下面谈谈我的看法。
sqldataadapter:表示用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据库连接。相当于是数据库和dataset(数据集)之间的桥梁。
dataset:表示一个存放于内存中的数据缓存。他将数据库拷贝一份到内存中,从而实现了离线(脱离数据库)数据操作。用dataset的table来做datagridview的数据源,实际上是一种离线操作。
sqlcommandbuilder:自动生成用于协调通过关联的 SQL Server 数据库对 DataSet 所做更改的单表命令。 这是一个根据sqldataadapter自动生成sql指令的类。
这三项加上数据库就是我们准备的东西。
基本原理是这样的:
调用 DataAdapter 的 Update 方法可以将 DataSet 中的更改解析回数据源。 与 Fill 方法类似,Update 方法将 DataSet 的实例和可选的 DataTable 对象或 DataTable 名称用作参数。 DataSet 实例是包含已做的更改的 DataSet,DataTable 标识从其中检索这些更改的表。 如果未指定 DataTable,则使用 DataSet 中的第一个 DataTable。
当调用 Update 方法时,DataAdapter 会分析已做的更改并执行