iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 14
0

前一篇已經講過了DataReader,那今天就來聊聊DataReader的好朋友DataSet,它是另一種讀取資料的物件。

DataSet

DataSet一旦連接到資料來源並透過DataAdapter取得資料後,就會立刻離線,並且把獲得的資料放在主機的記憶體裡面,等待日後應用。因為是獨立出來的資料集,所以做任何操作都不會影嚮到真正的資料庫內的資料。

程式範例

string s_data = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["config中connectionString的name"].ConnectionString;

SqlConnection connection = new SqlConnection(s_data);

SqlCommand Command =new SqlCommand($"SQL語法指令", connection);

SqlDataAdapter dataAdapter = new SqlDataAdapter(Command);//從Command取得資料存入dataAdapter

DataSet dataset = new DataSet()//創一個dataset的記憶體資料集

dataAdapter.Fill(dataset);//將dataAdapter資料存入dataset

foreach (DataRow datarow in dataset.Tables["選擇的資料表名稱"].Rows)
{
    //每個資料列的內容
}


//新增一筆資料
DataRow newRow = dataset.Tables["資料表名稱"].NewRow();
newRow["id"] = 999;
newRow["header"] = 111;
dataset.Tables["資料表名稱"].Rows.Add(newRow);

//移除一筆資料
dataset.Tables["資料表名稱"].Rows.Remove(dataset.Tables["資料表名稱"].Rows[1]);

//修改一筆資料

DataRow[] rows = dataset.Tables["資料表名稱"].Select("id=1");
if (rows.Length > 0)
{
rows[0]["id"] = 2;
}



GridView1.DataSource = dataset; //告訴GridView1的DataSource資料來源是dataset
GridView1.DataBind(); //資料繫結

//還有很多種操作方式

1.Connection : 建立與資料庫連接的通道。

2.Command: 下達SQL語法指令。要對資料庫下的SQL語法,必須是要一個物件才能執行,不能直接用SQL語法,所以才要把SQL丟進sqlcommand 這個物件

3.DataAdapter: 取得資料庫資料。

4.DataSet: 創立準備存放資料的記憶體資料集。

5.dataAdapter.Fill: 將取得的資料存入記憶體資料集中。

6.就可以使用dataset來做很多種操作了~(≧▽≦)/~

其實也可以創立DataTable來做操作,就不用dataset.Tables了XD
 DataTable dataTable =new DataTable();

最後DataReader和DataSet各有所好,都很好用der,就看個人習慣或需求囉٩(˃̶͈̀௰˂̶͈́)و


上一篇
[iT鐵人賽Day13]ASP.NET 讀取資料庫的資料常常用到的DataReader
下一篇
[iT鐵人賽Day15]SQL語法-撈取資料Select
系列文
淺談資料庫&ASP.net&C# 入門36

尚未有邦友留言

立即登入留言