博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
男人的小金库藏在哪里?——公共数据集Model
阅读量:5740 次
发布时间:2019-06-18

本文共 4123 字,大约阅读时间需要 13 分钟。

源代码:13033480群共享

你有没有小金库,我就不问了,问一下,你的小金库藏在哪里吧?网上有个人,估计是女人,总结了一下并附上个安全系数:

1.       办公室抽屉――保险系数☆☆

2.       专业书内―――保险系数☆☆☆

3.       内裤荷包―――保险系数☆☆☆

4.       借给朋友―――保险系数☆☆☆

5.       存在银行―――保险系数☆☆☆☆

象黄宏那个,又是藏在盆里、藏在桶里、藏在鞋里、藏在袜子里的,档次太低,咱就不提了…

 

什么,你问我有没有小金库?

笑而不答是真君子哈…

我只是喜欢一句话:“大隐隐于市,小隐隐于野”。熟视无睹是人性的共同弱点,眼皮子底下的地方,才是盲区。

我口袋里很少超过100块钱,老婆给,我都不要。前两天,单位逼着让我孝敬郭美美50块钱,一模口袋,楞没掏出来,标准的大丈夫哈……

我没事儿喜欢炒炒股,就是放哪儿,涨跌,随它了,很少看的……

别瞎说哈,哪儿,不是小金库……

 

现在,我们的问题是,你从数据库查询出来的数据,放在哪儿?

你想起了王顾左右而言他?别瞎闹了,我们这是在博客园,程序员的网上家园哈,不言程序言什么??给你看下程序运行效果,打打岔:

我们前面,已经能从数据库中查询,获得一个SqlDataReader了,这个SqlDataReader可是一直处于连接状态的,它里面的数据,就好象我们在ATM里看到的钱一样(掌嘴,怎么又提这东西),你总不能捧着ATM到处走吧?你总得找个地方放吧?

别和我提DataSet,那东西,档次太低。我们自己为数据库量身定制一个小金库吧(再掌嘴…):

一、解决方案中添加类库项目Model,

二、Model中添加类CategoryInfo.cs,代码如下:

 

using System;using System.Collections.Generic;using System.Text;namespace WestGarden.Model{    public class CategoryInfo    {        private string categoryid;        private string name;        private string descn;        public CategoryInfo() { }        public CategoryInfo(string categoryid, string name, string descn)        {            this.categoryid = categoryid;            this.name = name;            this.descn = descn;        }        public string CategoryId        {            get { return categoryid; }        }        public string Name        {            get { return name; }        }        public string Descn        {            get { return descn; }        }    }}

 

我们前面提到,类是变量与函数的封装,这是通常情况,常见的情况也有这样的,里面封装的主要是变量,附带几行代码,是方便读取和设置这几个变量的。这个类,主要是用来存放数据的,在一个项目里,通常,Model里会有几个这样的类,所以,我把这个Model叫做数据集,这一点,您就别拍我了,有的时候,我是很固执的…..

值得注意的是,这个类,只有三个变量,直接对应着分类表中的三个字段,也就是说,它只能存放一行数据,如果我们想存放几行,一个表格的数据,怎么办呢?

看看我们怎么样简单一点地使用这个类吧:

 

三、Web中添加引用→项目→Model,Defualt,aspx.cs中添加using WestGarden.Model;代码如下:

using System;using System.Data;using System.Data.SqlClient;using System.Configuration;using System.Collections.Generic;using WestGarden.Model;namespace WestGarden.Web{    public partial class Default : System.Web.UI.Page    {        protected void Page_Load(object sender, EventArgs e)        {            IList
categories = new List
(); String connectionString = ConfigurationManager.ConnectionStrings["NetShopConnString"].ConnectionString; SqlConnection conn = new SqlConnection(); conn.ConnectionString = connectionString; SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandType = CommandType.Text; cmd.CommandText = "SELECT * FROM Category"; conn.Open(); SqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { CategoryInfo category=new CategoryInfo(rdr.GetString(0), rdr.GetString(1), rdr.GetString(2)); categories.Add(category); } rdr.Close(); conn.Close(); ddlCategories.DataSource = categories; ddlCategories.DataTextField = "Name"; ddlCategories.DataValueField = "CategoryId"; ddlCategories.DataBind(); } }}

 

注意里面的这句:IList<CategoryInfo> catogories = new List<CategoryInfo>();

这个,我们简单理解一下吧,这是一个列表,一个类的列表,前面我们做的CategoryInfo.cs类的列表,它里面的一项,就是一个CategoryInfo类,你可以使用它的方法Add(),一项一项地把我们从SqlDataReader中读取的每一行,放在CategoryInfo类中的数据,附加上去。从而形成一个表格。

 

注意这个由一个一个CategoryInfo.cs类构成的列表,new以后,交给的是一个IList指针,叫句柄、叫地址,随便你了,你们都知道,我这个人,很随便的……

这个IList是一个接口,你想深入了解这个IList接口,可以去查相关资料,也可以在我后面的内容是找到一些稍微详细一点的解释。

这个IList接口指针,所指向的表格数据的内容,就可以直接绑定到我们的下拉列表框上去了,想显示什么内容,您随意……

 

致谢: 

感谢网友拍的金砖,在这里,这个IList可以不用,可以直接使用List,谢谢!!

感谢网友:如果是绑定到Web控件,除了使用List、IList,还可以使用IEnumerable:

"IEnumerable Ilist List"

选择返回哪一个作为数据接口,要看具体操作。
IEnumerable:如果仅需要显示数据,返回此类型。
IList:如果需要显示数据,简单的操作数据,返回此类型。
List:如果需要显示数据,并进行许多复杂数据操作,返回此类型。

不过,在这里,使用IEnumerable,要费些周折,因为,IEnumerable里,没有Add方法,如果非要使用,就让这个IEnumerable再指向IList吧。

IList<CategoryInfo> categories = new List<CategoryInfo>();

IEnumerable<CategoryInfo> cat = categories;

如果不考虑为后面的代码做个铺垫,不考虑有些网友说的,这堆代码不应该放在窗体文件的代码页中(谢谢提醒,放在这里,只是个验证),仅仅在这里的话,用List比较合适。

再次表示感谢,还是那句话,精品,是拍出来的。板砖里面有金砖,让我们冒着朋友的板砖,前进、前进、前进、进......

版权所有©2012,WestGarden.欢迎转载,转载请注明出处.更多文章请参阅博客

转载于:https://www.cnblogs.com/WestGarden/archive/2012/05/24/2515589.html

你可能感兴趣的文章
移动医疗平台遭遇“挂号滑铁卢”
查看>>
TrendForce:光伏产业再度面临供需失衡
查看>>
漫威英雄后门?即使是白宫会议也可能被黑客窃听
查看>>
为企业用户分析PR策略,TrendKite获1630万美元融资
查看>>
GCC 也要开始飙版本号了 —— 5.0 ??
查看>>
避免成为优秀程序员
查看>>
《CCNP ROUTE 300-101认证考试指南》——2.9节规划练习
查看>>
《深入剖析Nginx》一1.3 源码目录结构
查看>>
漏洞预警:Hadoop 未授权访问可导致数据泄露
查看>>
《Storm分布式实时计算模式》——1.2 单词计数topology的数据流
查看>>
漏洞预警:OpenSSH 出现远程执行代码漏洞
查看>>
《人工智能:计算Agent基础》——第二部分 表达和推理第3章 状态和搜索3.1 用搜索进行问题求解...
查看>>
恶意程序伪装成 Windows“另存为”对话框骗用户
查看>>
《从Excel到R 数据分析进阶指南》一2.8 查看前10行数据
查看>>
HandlerSocket client for java——MySql as NoSQL
查看>>
《团队软件过程(修订版)》—第1章1.4节TSPi的结构和流程
查看>>
你要为难优化器,优化器会加倍为难你
查看>>
《HTML、CSS、JavaScript 网页制作从入门到精通》——6.5 表格的行属性
查看>>
腾讯Android自动化测试实战3.3.1 控件ID相同时获取控件
查看>>
《树莓派渗透测试实战》——1.1 购买树莓派
查看>>