向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,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
C# 数据库 开发者
44.c#:combobox控件
44.c#:combobox控件
102 1
|
7月前
|
索引
[Qt5&控件] 下拉框ComBoBox和层叠窗口StackedWidget控件组合使用
[Qt5&控件] 下拉框ComBoBox和层叠窗口StackedWidget控件组合使用
176 0
DataTimePicker控件总结
DataTimePicker控件总结
158 0
|
C# 前端开发
wpf中的datagrid绑定操作按钮是否显示或者隐藏
如图,需要在wpf中的datagrid的操作那列有个确认按钮,然后在某些条件下确认按钮可见,某些情况下不可见的,放在mvc里直接在cshtml页面中if..else就行了。 但是在wpf里不行。。网上搜索了好久才找到解决方法,原来只是binding那个visiable属性就行了,
6902 0
|
C#
WPF中一个控件绑定另一个控件的属性
原文:WPF中一个控件绑定另一个控件的属性 如同一个Grid中的一个按钮根据另一个按钮的显示与否作出不同的响应: 绑定的时候通过ElementName来指定控件               ...
1864 0

热门文章

最新文章