a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > 文庫 > 正文

使用DataSet更新數據庫的方法

2023-05-11 12:02:27
字體:
來源:轉載
供稿:網友

以前經常用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( ) 取消更新.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 午夜伦理影院 | 一区二区三区国产免费 | 日韩在线观看一区 | 免费观看国产黄色 | 久久精品一区二区三区四区 | 不卡视频一区二区三区 | 久久精品视 | 精品视频99 | 在线视频亚洲 | 国产精品久久久av | 蜜臀久久99精品久久久久久宅男 | 中文字幕乱码一区二区三区 | 亚洲精品成人在线 | 黄色免费看片 | 黄网站免费在线观看 | 蜜臀99久久精品久久久久久软件 | 91精品国产日韩91久久久久久 | 一区二区亚洲视频 | 亚洲成人一区二区 | 久久亚洲精品中文字幕 | 国产区免费视频 | 欧美视频日韩 | 日韩精品免费在线观看 | 亚洲污视频 | 国产一区二区三区av在线 | 久久久a| 欧美xxxx做受欧美 | 精品久久一区二区 | 北条麻妃国产九九九精品小说 | 国产精品一区二区免费视频 | 色婷婷影院 | 古风h啪肉1v1摄政王 | 欧美乱妇高清无乱码 | 国产福利在线观看视频 | 国产色片在线 | 久久久久久久一区 | 亚洲精品天堂 | 久久久激情视频 | 欧美日韩中文在线观看 | 国产黄色大片网站 | 国产精品日产欧美久久久久 |