最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2022年06月17日 10:14:25   作者:陳_  
本文講述的是讀取數(shù)據(jù)庫中數(shù)據(jù)的常用做法,即將數(shù)據(jù)庫中的數(shù)據(jù)綁定到創(chuàng)建的類中,再將類綁定到DataGridView的數(shù)據(jù)源中的做法,對(duì)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é)果如下圖,啟動(dòng)程序時(shí),數(shù)據(jù)直接加載到DataGridView中:

三、代碼 

(一)Form_Load方法

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

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

        /// <summary>
        /// 在窗口加載時(shí),將數(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?的強(qiáng)制轉(zhuǎn)換和三元判斷式的方法來轉(zhuǎn)換數(shù)據(jù)。

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

        /// <summary>
        /// 加載數(shù)據(jù)的主要方法,通過數(shù)據(jù)綁定到類中,再將類集合綁定到DataGridView的方法
        /// </summary>
        private void LoadData()
        {
            //這個(gè)集合包含了數(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ù)類的對(duì)象,并將數(shù)據(jù)庫讀取到的每一個(gè)單元格的數(shù)據(jù)綁定到類的屬性中
                                TblPerson model = new TblPerson();
                                //因?yàn)橛械臄?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ù)綁定需要注意一點(diǎn):
            //數(shù)據(jù)綁定的時(shí)候,只認(rèn)屬性不認(rèn)字段,所以在類中要設(shè)置對(duì)應(yīng)的屬性,內(nèi)部通過反射實(shí)現(xiàn)
            dataGridView1.DataSource = lstTblPerson;
        }

(三)TblPerson類

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

注意

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

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

    public class TblPerson
    {
        //這里用到了int?是因?yàn)?,?shù)據(jù)庫中的值有可能是空值,此時(shí)需要設(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • WinForm實(shí)現(xiàn)的圖片拖拽與縮放功能示例

    WinForm實(shí)現(xiàn)的圖片拖拽與縮放功能示例

    這篇文章主要介紹了WinForm實(shí)現(xiàn)的圖片拖拽與縮放功能,結(jié)合具體實(shí)例形式分析了WinForm鼠標(biāo)事件響應(yīng)及圖片元素動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-05-05
  • 利用C#實(shí)現(xiàn)將小數(shù)值四舍五入為整數(shù)

    利用C#實(shí)現(xiàn)將小數(shù)值四舍五入為整數(shù)

    在項(xiàng)目的開發(fā)中,遇到一些除法計(jì)算內(nèi)容會(huì)產(chǎn)生小數(shù)值,但是又需要根據(jù)項(xiàng)目的實(shí)際情況將這些小數(shù)內(nèi)容化為整數(shù),所以本文為大家整理了C#實(shí)現(xiàn)將小數(shù)值四舍五入為整數(shù)的方法,希望對(duì)大家有所幫助
    2023-07-07
  • C#如何在窗體程序中操作數(shù)據(jù)庫數(shù)據(jù)

    C#如何在窗體程序中操作數(shù)據(jù)庫數(shù)據(jù)

    這篇文章主要介紹了C#如何在窗體程序中操作數(shù)據(jù)庫數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 使用c#開發(fā)公眾平臺(tái)自定義菜單功能

    使用c#開發(fā)公眾平臺(tái)自定義菜單功能

    微信公眾平臺(tái)服務(wù)號(hào)開放了自定義菜單API,本案例介紹C#開發(fā)微信公眾號(hào)自定義菜單功能。在此基礎(chǔ)上可以開發(fā)更完善的自定義菜單管理功能
    2014-01-01
  • C#異常處理詳解

    C#異常處理詳解

    這篇文章介紹了C#異常處理,有需要的朋友可以參考一下
    2013-10-10
  • C#實(shí)現(xiàn)數(shù)字轉(zhuǎn)換漢字的示例詳解

    C#實(shí)現(xiàn)數(shù)字轉(zhuǎn)換漢字的示例詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)數(shù)字轉(zhuǎn)換漢字功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • WinForm DataGridView控件隔行變色的小例子

    WinForm DataGridView控件隔行變色的小例子

    WinForm的DataGridView控件設(shè)置行的顏色
    2013-03-03
  • Unity使用鼠標(biāo)旋轉(zhuǎn)物體效果

    Unity使用鼠標(biāo)旋轉(zhuǎn)物體效果

    這篇文章主要為大家詳細(xì)介紹了Unity使用鼠標(biāo)旋轉(zhuǎn)物體效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C#實(shí)現(xiàn)智能AI五子棋游戲詳解

    C#實(shí)現(xiàn)智能AI五子棋游戲詳解

    這篇文章主要為大家詳細(xì)介紹了如何通過C#實(shí)現(xiàn)智能AI五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-11-11
  • C# 設(shè)計(jì)模式系列教程-代理模式

    C# 設(shè)計(jì)模式系列教程-代理模式

    代理模式對(duì)客戶端來說,隱藏了真實(shí)對(duì)象的細(xì)節(jié)及復(fù)雜性,實(shí)現(xiàn)了客戶端(調(diào)用者)與真實(shí)對(duì)象的松耦合,提高了運(yùn)行速度。
    2016-06-06

最新評(píng)論

富蕴县| 郎溪县| 宣汉县| 大连市| 蒲城县| 方正县| 岳池县| 固阳县| 东乡族自治县| 云安县| 武鸣县| 白银市| 天镇县| 沙雅县| 乐陵市| 乐山市| 玉环县| 镇原县| 南汇区| 马尔康县| 开封县| 兴安县| 泊头市| 舟山市| 保康县| 岑巩县| 自治县| 昆明市| 海口市| 沂水县| 永兴县| 高青县| 荣成市| 正蓝旗| 德格县| 共和县| 安新县| 杂多县| 鹰潭市| 郸城县| 临夏市|