C# 將數據庫SqlServer數據綁定到類中的過程詳解
本文講述的是讀取數據庫中數據的常用做法,即將數據庫中的數據綁定到創建的類中,再將類綁定到DataGridView的數據源中的做法。
一、環境和過程
環境:
- Visual Studio 2015
- SQL Server 2012
- Windows窗體應用程序
過程:
1、添加DataGridView,如下圖:
2、在窗口的Form_Load方法中添加代碼,通過讀取數據庫將數據庫TblPerson的數據讀取到DataGridView中,數據庫TblPerson的數據如下:
3、結果如下圖,啟動程序時,數據直接加載到DataGridView中:
三、代碼
(一)Form_Load方法
註意:這裡將主要的代碼封裝到LoadData方法中。
在窗口加載時,該方法將數據庫中的數據加載到DataGridView中。
/// <summary> /// 在窗口加載時,將數據庫中的數據加載到DataGridView中 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Form1_Load(object sender, EventArgs e) { LoadData(); }
(二)LoadData方法
這是本文的主要代碼。
註意:
1、數據庫中的數據可能有null值,需要判斷是否為null,然後利用int?的強制轉換和三元判斷式的方法來轉換數據。
2、需要提前寫好數據綁定的類。
/// <summary> /// 加載數據的主要方法,通過數據綁定到類中,再將類集合綁定到DataGridView的方法 /// </summary> private void LoadData() { //這個集合包含瞭數據庫中每一行數據 List<TblPerson> lstTblPerson = new List<TblPerson>(); //連接字符串 string conStr = "server=.;database=Itcast2014;integrated security=true;"; using (SqlConnection con=new SqlConnection(conStr)) { //命令字符串,讀取所有數據 string cmdTxt = "select * from TblPerson"; using (SqlCommand cmd=new SqlCommand(cmdTxt,con)) { con.Open(); using (SqlDataReader reader=cmd.ExecuteReader()) { if (reader.HasRows) { //一行一行讀取數據 while (reader.Read()) { //創建數據類的對象,並將數據庫讀取到的每一個單元格的數據綁定到類的屬性中 TblPerson model = new TblPerson(); //因為有的數據有null值,所以需要先看看是否是null model.autoId =reader.IsDBNull(0)? null :(int?) reader.GetInt32(0); model.uName = reader.IsDBNull(1) ? null : reader.GetString(1); model.age=reader.IsDBNull(2) ? null : (int?)reader.GetInt32(2); model.height= reader.IsDBNull(3) ? null : (int?)reader.GetInt32(3); model.gender =reader.IsDBNull(4) ? null : (bool?)reader.GetBoolean(4); lstTblPerson.Add(model); } } } con.Close(); } } //數據綁定需要註意一點: //數據綁定的時候,隻認屬性不認字段,所以在類中要設置對應的屬性,內部通過反射實現 dataGridView1.DataSource = lstTblPerson; }
(三)TblPerson類
將數據庫中的數據綁定到TblPerson類中, 類的每一個屬性對應數據庫中表的每一個字段。
註意:
1、因為數據庫中的數據有null值,所以用int?定義屬性的類型,即既可以是int類型,也可以是null類型。
2、數據綁定的時候,隻認屬性不認字段,所以在類中要設置對應的屬性,內部通過反射實現
public class TblPerson { //這裡用到瞭int?是因為,數據庫中的值有可能是空值,此時需要設置值為null public int? autoId { get; set; } public string uName { get; set; } public int? age { get; set; } public int? height { get; set; } public bool? gender { get; set; } }
到此這篇關於C# 將數據庫SqlServer數據綁定到類中的文章就介紹到這瞭,更多相關C# SqlServer數據綁定到類中內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- C#實現學生模塊的增刪改查
- 詳解C#如何實現讀寫ini文件
- C#開發WinForm清空DataGridView控件綁定的數據
- C# Sqlite數據庫的搭建及使用技巧
- DataTable的AcceptChanges()和RejectChanges()方法介紹並實現DataGridView數據增、刪、改