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!

推薦閱讀: