c# Command和DataAdapter的区别

Command和DataAdapter两者区别

单独使用Command一般是执行一条SQL语句或者得到一个DataReader。
但是不能用一个单独的Command来获取DataSet。
如果你是在DataSet里修改数据,然后再一齐上传到数据库的话,建议你用DataAdapter。
这是一个行集成的Object。

Command一般用来做增删改的操作,当然也能够查询。DataAdapter一般跟DataSet和DataTable一块进行查询操作。你可以把DataSet理解成临时的数据仓库,DataAdapter可以理解成在数据库与DataSet临时仓库之间的运输车。 如果数据量大的查询,如果返回行数多或者返回多个表,DataAdapter把经常要查询的数据临时保存在DataSet里,可以避免多次访问数据库,节省服务器的数据库连接资源。如果不是特别大的查询,就可以直接用Command查询。毕竟货物少,给他一个单独的大仓库明显浪费。

Connection:通常是直连(先使用Connection连接数据库,然后通过Open方法打开,然后使用SqlCommand执行SQL语句)。从头到尾Connection不能关闭,直到操作完成之后才可调用Close方法。缺点:消耗资源大。有点:和数据库数据同步。 DataAdapter:缓存式,先使用Fill方法把数据全部存储到DataTable(内存中),然后自动断开数据库连接。以后数据可以直接在DataTable中操作,到最后调用Update一次性更新数据。优点:批量操作。缺点:容易和数据库数据导致不同步情况发生。

你可能感兴趣的:(c# Command和DataAdapter的区别)