时间:2021-05-02
以前经常用sql语句(update)更新数据库,有使用用起来不是很方便,特别是数据量比较大的情况下(比如数据表)很麻烦~~后来感觉用DataSet更新数据库是不错的选择.于是急着写了一个用DataSet更新数据库的类如下:(后面有使用说明,总结)
using System; using System.Data; using System.Data.SqlClient; using System.Windows.Forms; namespace winApplication { public class sqlAccess { //与SQL Server的连接字符串设置 private string _connString; private string _strSql; private SqlCommandBuilder sqlCmdBuilder; private DataSet ds = new DataSet( ); private SqlDataAdapter da; public sqlAccess( string connString, string strSql ) { this._connString=connString; } private SqlConnection GetConn( ) { try{ SqlConnection Connection = new SqlConnection( this._connString );Connection.Open( ); return Connection;} catch ( Exception ex ){ MessageBox.Show( ex.Message,"数据库连接失败" ); throw; } } //根据输入的SQL语句检索数据库数据 public DataSet SelectDb( string strSql, string strTableName ) { try { this._strSql = strSql; this.da = new SqlDataAdapter( this._strSql, this.GetConn( ) ); this.ds.Clear( ); this.da.Fill( ds,strTableName ); return ds; //返回填充了数据的DataSet,其中数据表以strTableName给出的字符串命名 } catch ( Exception ex ){ MessageBox.Show( ex.Message,"数据库操作失败" ); throw; } } //数据库数据更新( 传DataSet和DataTable的对象 ) public DataSet UpdateDs( DataSet changedDs, string tableName ) { try { this.da = new SqlDataAdapter( this._strSql, this.GetConn( ) ); this.sqlCmdBuilder = new SqlCommandBuilder( da ); this.da.Update( changedDs,tableName ); changedDs.AcceptChanges( ); return changedDs; //返回更新了的数据库表 } catch ( Exception ex ) { MessageBox.Show( ex.Message,"数据库更新失败" ); throw; } }
使用说明总结:
1. GetConn方法创建一个数据库连接,返回SqlConnection.
2.使用的selectming令中必须包含主键,这点大家都知道的!
3. this.da.Fill( ds,strTableName ) 填充数据集
4.构造CommandBuilder对象时,将DataAdapter对象作为构造函数参数传入:
this.sqlCmdBuilder = new SqlCommandBuilder( da );
5. 在调用UpdateDs( )更新数据库前,请检查changedDs是否已经被更新过,用
changedDs.[tableName] GetChanges( ) != null;
6.用 this.da.Update( changedDs,tableName )方法更新数据,然后调用changedDs.AcceptChanges( )才能真正的更新数据库,调用 changedDs.RejectChanges( ) 取消更新.
本文源自:翔宇亭——IT乐园(http://),转载请保留此信息!声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在以前版本的ADO.NET中,使用DataSet中的更改来更新数据库时,DataAdapter的Update方法每次更新数据库的一行。因为该方法循环访问指定Da
池式连接超时的解决方法: 1、修改几个关键页面或访问比较频繁的数据库访问操作,使用DataAdapter和DataSet来获取数据库数据,不要使用DataRe
DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开数据链
本文实例讲述了C#从数据库读取数据到DataSet并保存到xml文件的方法。分享给大家供大家参考。具体实现方法如下:DataSet有一个WriteXml方法可以
本文实例讲述了JDBC程序更新数据库中记录的方法。分享给大家供大家参考,具体如下:使用JDBC程序(Eclipse、MyEclipse)更新数据库(MySql)