亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#?將數(shù)據(jù)庫SqlServer數(shù)據(jù)綁定到類中的過程詳解

 更新時間:2022年06月17日 10:14:25   作者:陳_  
本文講述的是讀取數(shù)據(jù)庫中數(shù)據(jù)的常用做法,即將數(shù)據(jù)庫中的數(shù)據(jù)綁定到創(chuàng)建的類中,再將類綁定到DataGridView的數(shù)據(jù)源中的做法,對C#將SqlServer數(shù)據(jù)綁定到類中感興趣的朋友一起看看吧

本文講述的是讀取數(shù)據(jù)庫中數(shù)據(jù)的常用做法,即將數(shù)據(jù)庫中的數(shù)據(jù)綁定到創(chuàng)建的類中,再將類綁定到DataGridView的數(shù)據(jù)源中的做法。

 一、環(huán)境和過程

環(huán)境:

  • Visual Studio 2015
  • SQL Server 2012
  • Windows窗體應(yīng)用程序

過程:

1、添加DataGridView,如下圖:

2、在窗口的Form_Load方法中添加代碼,通過讀取數(shù)據(jù)庫將數(shù)據(jù)庫TblPerson的數(shù)據(jù)讀取到DataGridView中,數(shù)據(jù)庫TblPerson的數(shù)據(jù)如下:

3、結(jié)果如下圖,啟動程序時,數(shù)據(jù)直接加載到DataGridView中:

三、代碼 

(一)Form_Load方法

注意:這里將主要的代碼封裝到LoadData方法中。

在窗口加載時,該方法將數(shù)據(jù)庫中的數(shù)據(jù)加載到DataGridView中。

        /// <summary>
        /// 在窗口加載時,將數(shù)據(jù)庫中的數(shù)據(jù)加載到DataGridView中
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Form1_Load(object sender, EventArgs e)
        {
            LoadData();
        }

(二)LoadData方法

這是本文的主要代碼。

注意

1、數(shù)據(jù)庫中的數(shù)據(jù)可能有null值,需要判斷是否為null,然后利用int?的強制轉(zhuǎn)換和三元判斷式的方法來轉(zhuǎn)換數(shù)據(jù)。

2、需要提前寫好數(shù)據(jù)綁定的類。

        /// <summary>
        /// 加載數(shù)據(jù)的主要方法,通過數(shù)據(jù)綁定到類中,再將類集合綁定到DataGridView的方法
        /// </summary>
        private void LoadData()
        {
            //這個集合包含了數(shù)據(jù)庫中每一行數(shù)據(jù)
            List<TblPerson> lstTblPerson = new List<TblPerson>();
            //連接字符串
            string conStr = "server=.;database=Itcast2014;integrated security=true;";
            using (SqlConnection con=new SqlConnection(conStr))
            {
                //命令字符串,讀取所有數(shù)據(jù)
                string cmdTxt = "select * from TblPerson";
                using (SqlCommand cmd=new SqlCommand(cmdTxt,con))
                {
                    con.Open();
                    using (SqlDataReader reader=cmd.ExecuteReader())
                    {
                        if (reader.HasRows)
                        {
                            //一行一行讀取數(shù)據(jù)
                            while (reader.Read())
                            {
                                //創(chuàng)建數(shù)據(jù)類的對象,并將數(shù)據(jù)庫讀取到的每一個單元格的數(shù)據(jù)綁定到類的屬性中
                                TblPerson model = new TblPerson();
                                //因為有的數(shù)據(jù)有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();
                }
            }
            //數(shù)據(jù)綁定需要注意一點:
            //數(shù)據(jù)綁定的時候,只認屬性不認字段,所以在類中要設(shè)置對應(yīng)的屬性,內(nèi)部通過反射實現(xiàn)
            dataGridView1.DataSource = lstTblPerson;
        }

(三)TblPerson類

將數(shù)據(jù)庫中的數(shù)據(jù)綁定到TblPerson類中, 類的每一個屬性對應(yīng)數(shù)據(jù)庫中表的每一個字段。

注意

1、因為數(shù)據(jù)庫中的數(shù)據(jù)有null值,所以用int?定義屬性的類型,即既可以是int類型,也可以是null類型。

2、數(shù)據(jù)綁定的時候,只認屬性不認字段,所以在類中要設(shè)置對應(yīng)的屬性,內(nèi)部通過反射實現(xiàn)

    public class TblPerson
    {
        //這里用到了int?是因為,數(shù)據(jù)庫中的值有可能是空值,此時需要設(shè)置值為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; }
    }

到此這篇關(guān)于C# 將數(shù)據(jù)庫SqlServer數(shù)據(jù)綁定到類中的文章就介紹到這了,更多相關(guān)C# SqlServer數(shù)據(jù)綁定到類中內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論