开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

向ComboBox控件绑定数据

简介:
+关注继续查看
  public void RoomType_Bind(System.Windows.Forms.ComboBox combo)
        {
            // 将房间类型绑定到combo控件
            string strSelec = "select [RoomTypeName] from [RoomType]";
            SqlDataReader sdrRoomType = DBManager.ExecAndGetSdr(strSelec);//1            combo.Items.Clear();//2
            while (sdrRoomType.Read())//3
            {
                combo.Items.Add(sdrRoomType["RoomTypeName"]);//4
            }
            sdrRoomType.Close();//5
        }
在这里的函数名,变量名都是用的我项目里面的名字,为了节约时间,就懒得去想另外的名字了。今后都如此。
 
DBManager在“我的代码库”里有定义,这个类可能对我非常重要,只要做与数据库有关的项目,我想我都一定带上它的,它是我的好帮手。
 
//2这一行代码的作用是清除当前cmb控件的栏目,如果没有这一行,大家会看到cmb控件里会有一个空栏目
 
//3这一行是这个算法最实质的操作,向cmb控件添加栏目,每次添加一条。sdrRoomType最开始(刚创建这个对象时)可以把它理解成一个表,sdrRoomType.read()就是读取这个表中的下一条纪录(第一次调用时是读取第一条纪录),那么这时sdrRoomType就代表的是下一条纪录了,代表的是一条纪录,不是一个表,这是sqldatareader对象最难理解的地方了。//4这一行对我这个观点进行了证实,它表示添加sdrRoomType所代表的当前行的RoomTypeName字段的值。
 
//4这一行也可以改为                combo.Items.Add(sdrRoomType.GetString(0));用序号获取所要的字段。
如果知道一列的名称而不知道其所在的位置,可以通过调用DataReader 对象的GetOrdinal()方法解决,此方法接收一个列名并返回此列名所在的列号
如:int id sdrRoomType.GetOrdinal("RoomTypeName");

//5 DataReader对象在调用Close()方法即关闭与数据库的连接,如果在没有关闭之前又重新打开第二个连接,则会产生一条异常信息)


DataReader的特性 ADO.NET DataReader对象可以从数据库中检索只读、只进的数据流。因为每次在内存中的数据只有一行,所以使用DataReader可提高应用程序的性能并减少系统开销。它还提供了未缓冲的数据流,该数据流使过程逻辑可以有效地按顺序处理从数据源中返回的结果。由于数据不在内存中缓存,所以在检索大量数据时,DataReader是一种合适的选择。
 
第一次写教程性质的东西,有感触啊。要真正写好一个教程是非常不容易的。当然如果能写好一点,其实受益最大的是自己,因为你必须花时间,动脑筋去琢磨,在这个过程中,你对一些概念,结论的理解会上一个层次,在脑中留下的印象会更深刻。
 
我现在没有多少时间来写教程了,如果有时间一定多写一点。
 
我还觉得,学习的一个非常好的方式,就是试着去教别人。特别是对一些概念,原理的东西,通过反复的讲,你的理解一定会非常深刻的,一定会有所体会的。这正所谓是教学相长。我又联想起新东方学校的老师,他们的水平真是让人佩服,一方面肯定要归功于他们的刻苦勤奋,另一方面我想他们应该好好感谢他的学员。如果没有他们自己的反复的去讲授(没有学生的话,谁讲得起来啊),他们对知识理解深度,对知识的掌握的熟练度一定没有现在这么好了。我自己也有深刻的体会,现在我对高中数学的了解比教书之前要深多少倍呢,我敢保证,如果现在我去参加高考数学考试,成绩一定不会低于140(哈哈,又不谦虚了)。
 









本文转自 参天树 51CTO博客,原文链接:http://blog.51cto.com/119244/51073,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C#中comboBox控件的一些基本用法小结
private void InitCombo() { dt.Columns.Add("Text"); dt.Columns.Add("Value"); DataRow dr1 = dt.NewRow(); DataRow dr2 = dt.NewRow();
1040 0
c# combobox控件的使用
POJO: class ComboBoxItem { string _text; string _value; public string Text { get { return ...
702 0
repeater控件在绑定的时候添加行号
最好的方法当然就是在提取数据的时候连行号也一起取出来,SQL Server中有row_number()函数,但是最近做的一个项目用的是MYSQL的,上网查了一下,没有现成的函数,网上说要自己写,懒得写了,直接在程序中输出行号就好,在绑定的时候可以用 来绑定行号的,但是这种做法如果有分页的话,那么行号又是从1开始了。
676 0
GridView绑定小技
1,使用表达式。如下,缺货的产品用红色,别的绿色。 实际上,就这个表达式: (Int32)Eval("Num")
336 0
在ListView中使用DropDownList绑定数据……好麻烦
在Aspx页中的代码:               男        女        添加事件:ItemUpdating和ItemCreated事件  protected void ListView1_ItemUpdating(object sender, ListVie...
608 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载