構建布局良好的Windows程式

來源:互聯網
上載者:User

標籤:dataset   移動   client   機器   唯讀   uil   reader   情況下   理解   

DataSet對象

當應用程式需要查詢資料時,可以使用DataReader對象讀取資料,DataReader每次都只能讀取一行資料到記憶體中,並且要一直與資料庫保持串連.而且是唯讀只進型的讀取方法.給程式想再次獲得讀取過的資料帶來了麻煩.利用資料集,我們可以在斷開與資料庫連接的情況下操作資料,可以操作來自多個相同或不同資料來源的資料

1.1認識DataSet對象

我們可以把資料集簡單的理解為一個臨時的資料庫,他把應用程式需要的資料臨時儲存在記憶體中,由於這些資料都緩衝在本地機器上,就不需要一直儲存和資料庫的串連.當應用程式需要資料時,就直接從記憶體中的資料集讀取資料,也可以對資料集中的資料進行修改,然後將修改後的資料一起提交到資料庫.

資料集不直接和資料庫打交道,它和資料庫之間的相互作用都是通過.Net資料提供者來完成的,所以資料集是獨立於任何資料庫的.

1.2建立DataSet 

DateSet位於System.Data命名空間中,建立DataSet文法如下

[文法]:

DataSet  資料集對象 = new DataSet("資料集的名稱字串");

方法中的參數是資料集的名稱,可以有,也可以沒有,如果沒有寫參數,建立的資料集的名稱預設為NewDataSet.

例如:

DataSet myDataSet = new DataSet();

DataSet myDataSet = new DataSet("MySchool");

2 DataAdapter對象

資料配接器資料庫和DataSet對象串連的橋樑

2.1認識DataAdapter對象

 

.NET 資料提供者及DataAdapter類
.NET 資料提供者 串連類
SQL  資料提供者
System.Data.SqlClient命名空間中
SqlDataAdapter
OLE DB  資料提供者
System.Data.OleDb命名空間中
OleDbDataAdapter
ODBC 資料提供者
System.Data.Odbc命名空間中
OdbcDataAdapter
Oracle  資料提供者
System.Data.OracleClient命名空間中
OracleDataAdapter

 

 

 

DataAdapter對象的主要屬性和方法

屬性:SelectCommand  從資料庫檢索資料的Command對象

方法

Fill()  向DataSet中的表填充資料

Update  將DataSet中的資料提交到資料庫

2.2填充資料集

使用DataAdapter填充資料集需要四個步驟

(1)建立資料庫連接對象

(2)建立從資料庫查詢資料用的SQL語句

(3)利用上面建立的SQL語句和Connection對象建立DataAdapter對象

文法:

SqlDataAdapter 對象名 = new SqlDataAdapter(查詢用的SQL語句,資料庫連接);

或者

SqlDataAdqpter adapter = new SqlDataAdapter();

SqlCommand command  = new SqlCommand(查詢用的SQL語句,資料庫連接);

adapter.SelectCommand = command;

(4)調用DataAdapter對象的Fill方法填充資料集

文法:

DataAdapter對象.Fill(資料集對象,"資料表名稱字串");

Fill()方法接收一個資料表名稱的字串參數.如果資料集中原來沒有這個資料表,調用Fill()方法後就會建立一個資料表.如果資料集中原來有這個資料表,就會把現在查出的結果繼續添加到資料表中.

經驗:

建立一個DataAdapter對象,都與Connection.Command對象有關,並且要編寫SQL語句

在不同的程式碼片段中,Connection對象出現的位置可能不同

3.資料繫結

資料繫結是為了在控制項上顯示資料庫中儲存的資料,而將應用程式的控制項與資料庫的任何列或行進行綁定的過程.VS使用DataSource屬性為我們提供了靜態和動態資料繫結,教好的解決了這個問題,降低了代碼的複雜度

3.1ComboBox資料繫結

通過組合框實現綁定資料時,常使用的屬性為:

DataSource  擷取或設定資料來源

DisplayMember  擷取或設定要為此ListContiol顯示的屬性

ValueMember 擷取或設定一個屬性,該屬性將用做ListControl中項的實際值.

 4.認識DataGridView控制項

資料格視圖控制項是一個很強大的控制項,在DataGridView中還可以直接修改和刪除資料.

DataGridView控制項能夠以表格的形式顯示資料,可以設定為唯讀,也可以允許編輯資料.要想指定DataGridView顯示哪個表的資料,只需要設定他的DataSource屬性,使用一行代碼就能實現

主要屬性:

Columns  包含列的集合

DataSource DataView的資料來源

ReadOnly 是否可以編輯儲存格

各列的主要屬性:

DataPropertyName  綁定資料列的名稱

HeaderText 欄位標題文本

Visible 制定列是否可見

Frozen 指定水平滾動DataGridView時列是否移動

ReadOnly 指定儲存格是否為唯讀

4.使用DataGridView控制項顯示資料

(1)添加控制項

(2)設定DataGridView的屬性和各列的屬性

(3)篩選資訊(查詢用)

(4)綁定DataGridView的資料來源

4.儲存對資料集的修改

(1)使用SqlCommandBuilder對象產生更新用的相關命令

[文法]:

sqlCommandBuilder  Builder = new  SqlCommandBuilder(已建立的DataAdaptr對象);

(2)調用DataAdapter對象的Update方法

DataAdaptre對象.Update(資料集對象,"資料表名稱字串");

經驗:

SqlCommandBuilder只操作單個表.也就是說,建立DataAdaptr對象時.使用的SQL語句只能從一個表裡面查資料,不能進行聯集查詢.

常見錯誤:

(1)不使用sqlCommandBuilder直接調用Updata()方法

(2)利用DataGridView顯示資料集中表時,沒有為他的列設定DataPropertName屬性

構建布局良好的Windows程式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.