簡單實用的DataSet更新資料庫的類+總結(c#)
using System;
using System.Data;
using System.Data.SqlClient;
using System..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.使用的select命令中必須包含主鍵,這點大家都知道的!
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() 取消更新。
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/631872/viewspace-863563/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C#與資料庫訪問技術總結(十六)之 DataSet物件C#資料庫物件
- php簡單操作mysql資料庫的類PHPMySql資料庫
- 資料庫的最簡單實現資料庫
- Java 新特性總結——簡單實用Java
- 資料結構簡單要點總結資料結構
- 帶你實現一個簡單的MYSQL資料庫生成實體類工具MySql資料庫
- 簡單的C#日誌類C#
- 單例類的總結單例
- SQL Server資料庫的簡單實現方法SQLServer資料庫
- C#的Access資料庫操作 AccessHelper類C#資料庫
- 常見形式 Web API 的簡單分類總結WebAPI
- Android實用的SQLite資料庫工具類AndroidSQLite資料庫
- Pygame的簡單總結GAM
- cocopods 簡單建立第三方類庫,及庫的更新
- GPU 渲染管線簡單總結(網上資料總結)GPU
- 自己實現一個最簡單的資料庫資料庫
- JavaScript實現簡單的雙向資料繫結JavaScript
- Redis設計與實現閱讀總結(二)單機資料庫的實現Redis資料庫
- C# SQLiteHelper類似SqlHelper類實現存取Sqlite資料庫C#SQLite資料庫
- 簡簡單單的總結,意如生活的平淡
- 類别範本的簡單應用(用於儲存不同型別資料的類容器)型別
- 簡單好用的資料庫管理:DBeaverEE mac啟用版資料庫Mac
- 資料庫分庫分表的總結資料庫
- RUBY實踐—資料庫簡單操作資料庫
- Django ORM的簡單總結DjangoORM
- PHP 實現簡單的資料採集併入庫PHP
- 標準庫 http 包的簡單實用HTTP
- 資料庫總結資料庫
- C#不使用DataSet操作XML,XmlDocument讀寫xml所有節點及讀取xml節點的資料總結C#XML
- C#與資料庫訪問技術總結(十七)C#資料庫
- C#與資料庫訪問技術總結(十八)C#資料庫
- 關於資料庫鎖的總結資料庫
- MongoDB的分片資料庫命令總結MongoDB資料庫
- C#反射的Assembly的簡單應用C#反射
- 一個用C#實現的簡單http server (轉)C#HTTPServer
- SQLite Helper類,基於.net c#的SQLite資料庫操作類SQLiteC#資料庫
- 基於json資料格式實現的簡單資料庫——jsonDBJSON資料庫
- 總結幾個ORACLE資料庫日常運維常用的命令(持續更新)Oracle資料庫運維