![第8章查看用户信息_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-9/21/5dcbb923-21ab-4f98-add3-f3687af350d2/5dcbb923-21ab-4f98-add3-f3687af350d21.gif)
![第8章查看用户信息_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-9/21/5dcbb923-21ab-4f98-add3-f3687af350d2/5dcbb923-21ab-4f98-add3-f3687af350d22.gif)
![第8章查看用户信息_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-9/21/5dcbb923-21ab-4f98-add3-f3687af350d2/5dcbb923-21ab-4f98-add3-f3687af350d23.gif)
![第8章查看用户信息_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-9/21/5dcbb923-21ab-4f98-add3-f3687af350d2/5dcbb923-21ab-4f98-add3-f3687af350d24.gif)
![第8章查看用户信息_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-9/21/5dcbb923-21ab-4f98-add3-f3687af350d2/5dcbb923-21ab-4f98-add3-f3687af350d25.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、查看用户信息查看用户信息 第8章 .NET数据库开发项目目标项目目标v使用ListView控件显示用户信息任务8.1 建立用户列表窗口操作技能操作技能 v用户登录系统后,权限许可的情况下,可以查看系统中已经存在的所有用户信息,本章进一步学习使用ADO.NET查询数据。要想实现用户信息的查看,需要用到以下知识。使用DataReader对象访问数据库使用ListView控件显示数据使用ImageList控件任务8.1 建立用户列表窗口任务分解任务分解v建立用户列表窗口 v查询用户数据 v在ListView控件中显示数据 任务8.1 建立用户列表窗口建立用户列表窗口建立用户列表窗口 实现步骤v在项目
2、中添加UserList.cs 窗体v在UserList窗体中添加Button控件和ListView控件 v设置控件的属性 .NET数据库开发对象对象属性名属性名属性值属性值说明说明窗体窗体NameNameUserListUserList窗体名称窗体名称TextText用户列表用户列表窗体标题窗体标题ButtonButtonNameNamebtnOKbtnOKTextText确定确定.NET数据库开发UserList窗体可以通过“用户管理”菜单或者工具栏中的“用户列表”按钮打开。它是一个子窗体。需要给以上两个对象编码,代码如下: UserList f = new UserList(); f.Md
3、iParent = this; f.Show();把UserList设为子窗体任务任务8.2 查询用户数据查询用户数据 v在UserList窗体中要显示UserInfo表中的所有用户信息,如何从数据库中读取多个数据呢?v可以使用Command对象的ExecuteReader()方法,这个方法将得到DataReader对象,利用该对象就可以从数据库读取一批数据了。 .NET数据库开发知识知识1 了解了解DataReader对象对象vDataReader对象可以从数据库中以只读的、向前只读的、向前的方式读取数据的方式读取数据,即每次可以从查询结果中读取一行数据到内存。只能顺序向前、不能反复读取,也
4、不能修改数据。vDataReader对象采用面向连接的方式读取数据,在读取期间,必须保持和数据库的连接,如果连接未打开或已经关闭,读取数据将出现异常。重要属性和方法vDatareader对象不能关使用new关键字创建。但可以使用ExecuteReader()方法创建。 DataReader是一个抽象类,因此不能直接实例化,要通过Command对象的ExecuteReader方法来建立。 vDataReader是一行一行的读取记录的。当记录中有数据时Read()返回TRUE,当到记录集底部时返回FALSE。 v重要属性:重要属性:vFieldCount:获取当前行中的列数。vHasRows:获取
5、一个值,该值指示 SqlDataReader 是否包含一行或多行。v NextResul:当执行的是sql存储程序,或是可返回多个结果集的批处理sql语句时,该方法将当前行指针移到下一个结果集(该操作将当前行指针从第一行的一个行集移到下一个行集)。v重要方法:重要方法:vGetInt16(),GetString(),GetDataTime()使用这些方法可以读取行中某列的值,并以相应的.Net类型返回。 vGetValue():可以读取行中某列的值,不过返回的是object类型的值。vGetName():返回行中某列的列名。使用DataReader对象vCommand对象的ExecuteRea
6、der()方法的返回值是一个DataReader对象v在得到一个DataReader对象后,可以调用它的Read()方法读取查询的数据中的一行记录。 .NET数据库开发DataReader完整操作步骤完整操作步骤v创建Conncection对象,打开与数据库的连接。v创建Command对象,调用Command对象的ExecuteReader()方法创建DataReader对象。v调用DataReader对象的Read()方法读取一行数据。v读取当前行中的某一列信息。v调用DataReader对象的Close()方法,关闭DataReader对象。.NET数据库开发示例示例1:创建窗体,读取:创
7、建窗体,读取UserInfo表中表中Admin用户的密码用户的密码信息信息v注意建立窗体,正确设置属性代码开始导入System.Data.SqlClient名字空间 了解编程思路.NET数据库开发确定按钮代码vSqlConnection cn = new SqlConnection(); /建立连接对象v cn.ConnectionString = Data Source=XIISQLExpress; +v User ID=sa;Password=sa; +v Initial Catalog=Dormitory; /连接字符串v cn.Open(); /打开连接v SqlCommand cmd
8、 = new SqlCommand(v SELECT * FROM UserInfo WHERE UserName=Admin,v cn); /在实例化时指定SQL语句和连接对象v SqlDataReader dr; /数据读取器对象v dr = cmd.ExecuteReader(); /执行SQL语句,将结果放到数据读取器中v if (dr.Read() /如果能够读取数据v v /显示Admin用户的密码v MessageBox.Show(Admin用户的密码是 + dr.GetString(1); /按字符串格式读取第2列v v dr.Close(); /关闭DataReader对象v
9、 cn.Close(); /关闭连接说明vDataReader对象的Read()方法可以读取一行数据,如果读取成功,方法返回true,如果未调用Read()方法读取数据将出现异常。v读取某一列的信息时,可以使用dr【“列名称”】或dr【列索引】,索引从0开始。返回读出的信息类型为Object,所以必须进行类型转换。示例示例2v读取UserInfo表中列的个数,并显示各个列的名称 ,窗体效果如下图所示.NET数据库开发实现思路实现思路v获取所有用户信息,可以使用DataReader对象,读取UserInfo表中的所有信息。v执行的SQL语句为:SELECT * FROM UserInfo按钮的关
10、键代码vSqlConnection cn = new SqlConnection(); /建立连接对象v cn.ConnectionString = Data Source=XIISQLExpress; +v User ID=sa;Password=sa; +v Initial Catalog=Dormitory; /连接字符串v cn.Open(); /打开连接v SqlCommand cmd = new SqlCommand(v SELECT * FROM UserInfo WHERE UserName=Admin,v cn); /在实例化时指定SQL语句和连接对象v SqlDataRea
11、der dr; /数据读取器对象v dr = cmd.ExecuteReader(); /执行SQL语句,将结果放到数据读取器中v for (int i = 0; i dr.FieldCount; i+) /遍历数据中的每个列v v MessageBox.Show(dr.GetName(i); /显示每列的名称v v dr.Close(); /关闭DataReader对象v cn.Close(); /关闭连接说明v获取列信息,不需要Read()方法v使用完DataReader对象后,必须将其关闭必须将其关闭,未关闭前,再次使用,将会出现异常。获取数据库中的用户信息v实现思路在窗体的Load事件
12、中采用DataReader对象,将表中所有行逐个读取就可以,读取时可以采用迭代的方式,直到不能再读,返回False为止。Load事件代码v private void UserList_Load(object sender, EventArgs e)v v /连接数据库v /获取UserInfo表中所有的数据v /并显示在ListView控件中v SqlConnection cn = new SqlConnection(); /建立连接对象v cn.ConnectionString = Data Source=XIISQLExpress; +v User ID=sa;Password=sa; +
13、v Initial Catalog=Dormitory; /连接字符串v cn.Open(); /打开连接v SqlCommand cmd = new SqlCommand(v SELECT * FROM UserInfo , cn); /在实例化时指定SQL语句和连接对象v vSqlDataReader dr; /数据读取器对象v dr = cmd.ExecuteReader(); /执行SQL语句,将结果放到数据读取器中v /遍历dr对象,将所有的数据添加到ListView控件中v while (dr.Read()v v string userName = drUserName.ToStr
14、ing(); /读用户名v string pwd = drPassword.ToString();/读密码v string state = dr“UserState”.ToString(); /读用户v MessageBox.Show(String.Format(“用户名是0,密码是1,状态是2”, userName, pwd, state);vv dr.Close(); /关闭数据读取器对象v cn.Close(); /关闭连接对象v 任务任务8.3 在在ListView中显示数据中显示数据上面读取了表中信息,但是是通过对话框显示结果的,如果要以列表的形式显示全部信息,可以使用ListVie
15、w控件。控件。.NET数据库开发知识知识1 ListView控件控件 vListView控件可以显示由一些带图标的项组成的列表,很多应用程序中都在使用。v有5种视图模式:大图标、小图标、列表、详细信息和平铺模式 显示模式示例属性设置vItems属性用来表示ListView控件中的项的集合 vSelectedItems表示选中项的集合vView属性用来表示ListView控件的视图模式 ,该属性值是枚举成员,包括下面几种:Details详细显示详细显示LargeIcon大图标显示方式List列表显示方式SmallIcon每个项都显示为小图标Title可以在XP和2003下使用,每项显示为完整大小
16、的图标,右边带项标签和子项信息。其他属性及常用方法vColumn属性:表示详细信息视图表现出来的列。第一列为主数据项、之后的为子数据项vSmallImageList属性:小图标、详细信息视图下,ListView控件显示图标的ImageList控件vLargeImageList属性:大图标视图下,ListView控件显示图标的ImageList控件vClear()用于清除ListView控件中所有数据项知识知识2 ImageList控件控件vImageList控件可以管理程序中其它控件(如ListView、TreeView、ToolBar等)用到的各种图片文件 vListView控件可以使用XX
17、XImageList(XXX表示Large,Small,State)属性与ImageList控件相关联v常用属性:Image属性ImageSize属性在ListView中显示用户信息实现步骤:实现步骤:v遍历遍历DataReader对对象中的数据。象中的数据。v生成相应的数据项:生成相应的数据项:将用户名信息作为主将用户名信息作为主数据项,其他作为子数据项,其他作为子项添加到项添加到ListView控控件中件中v通过属性窗口设置通过属性窗口设置Column属性,为控属性,为控件添加件添加3列,分别修列,分别修改改Text属性,如下图属性,如下图关键代码vstring userName = drUserName.ToString(); /读用户名vstring pwd = drPassword.ToString();/读密码vstring state = drUserState.ToString(); /读用户状态v /添加到添加到ListView中中vListViewItem lvi = new ListViewItem(userName);vlvi.SubItems.Add(pwd);vlvi.SubItems.Add(state);vlvUserList.Items.Add(lvi);总结总结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 入团申请书二千字
- 推进科技创新与产业均衡发展
- 评优申请书模板
- DB2201-T 49-2023 站用储气瓶组定期检验规范
- 装电表申请书
- 新版北师版一年级下册数学课件三 20以内数与减法复习
- 人教版数学四年级上册第五单元平行四边形和梯形培优测试卷(含答案)
- 维修保养服务合同(2篇)
- 给下属写续签合同范本
- 异地安置申请书
- 教育部《中小学校园食品安全和膳食经费管理工作指引》知识培训
- 部编人教版语文小学六年级下册第四单元主讲教材解读(集体备课)
- 数据结构英文教学课件:chapter2 Array
- 20以内分成表算式x
- 井下探放水设计编制培训PPT课件
- 数据结构英文教学课件:chapter9 Sorting
- 营养学绪论(精)
- 最新ICD-9手术编码
- 软件项目报价方法参考模板
- 国际形式发票模板
- 陕西延长石油(集团)有限责任公司企业年金方案
评论
0/150
提交评论