完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
ADO.net在在Visual C#中用ListView显示数据记录 如果要你在程序中显示数据库中的数据记录,你首先想用的显示工具肯定是DataGrid。当然用DataGrid显示数据记录是一种既常用又简单的方法。但是在程序控制方面,它却无法那么随心所欲。本文就是介绍另外一种显示数据记录的方法--用ListView来显示数据记录,由于他是手动加入记录,虽然在程序设计中稍微烦琐了些,但对于那些在特殊的显示要求,却往往能够满足要求。在.Net FrameWork SDK中定义了许多组件,Visual C#就是通过获得这些组件的实例来丰富自己的界面的。列表(ListView)是程序设计中一个常用的组件,由于其自身的特点,往往被使用显示比较庞大的数据信息。本文就是利用他的这个特点来看看它如何来显示数据记录。一. 程序设计和运行的环境 (1).微软视窗2000专业版本(2)..Net FrameWork SDK Beta 2 (3).Microsoft Data Acess Component 2.6 (MDAC2.6) 二. 程序设计的具体思路 (1).首先要建立数据连接,打开数据集(2).对列表进行初始化,并使得列表的显示条件符合数据记录的条件(3).对数据集中的数据记录进行遍历,在遍历中添加记录到列表中(4).关闭数据集,关闭数据连接三. 具体的实现步骤 (1).首先要建立数据连接,打开数据集对于如何建立数据连接和获得数据集的内容可以参考本站的一篇文章--《在Visual C#中访问不同的数据库》,在此文中对此类问题有比较详细的介绍,本文就不多叙述,具体实现语句如下: lv.FullRowSelect = true ; file://要选择就是一行lv.View = View.Details ; file://定义列表显示的方式lv.Scrollable = true ; file://需要时候显示滚动条lv.MultiSelect = false ; // 不可以多行选择lv.HeaderStyle = ColumnHeaderStyle.Nonclickable ; // 针对数据库的字段名称,建立与之适应显示表头lv.Columns.Add ( "姓名" , 60 , HorizontalAlignment.Right ) ; lv.Columns.Add ( "住宅电话" , 100 , HorizontalAlignment.Left ) ; lv.Columns.Add ( "办公电话" , 100 , HorizontalAlignment.Left ) ; lv.Columns.Add ( "移动电话" , 100 , HorizontalAlignment.Left ) ; lv.Columns.Add ( "居住地点" , 100 , HorizontalAlignment.Left ) ; lv.Columns.Add ( "工作单位" , 100 , HorizontalAlignment.Left ) ; lv.Columns.Add ( "电子邮件" , 100 , HorizontalAlignment.Left ) ; lv.Visible = true ; using System.Data ; using System.Data.OleDb ; class MainForm : Form { // 定义数据连接的字符串private static string strC + Application.StartupPath + "\MY.MDB" ; private OleDbConnection conConnection = new OleDbConnection ( strConnect ) ; private ListView lv ; public MainForm ( ) { // 初始化Form this.Left = 0 ; this.Top = 0 ; this.Text = "在ListView中显示数据库内容!" ; // 初始化ListView lv = new ListView ( ) ; lv.Left = 0 ; lv.Top = 0 ; lv.Width = 700 ; lv.Height = this.ClientRectangle.Height ; lv.GridLines = true ; file://显示各个记录的分隔线lv.FullRowSelect = true ; file://要选择就是一行lv.View = View.Details ; file://定义列表显示的方式lv.Scrollable = true ; file://需要时候显示滚动条lv.MultiSelect = false ; // 不可以多行选择lv.HeaderStyle = ColumnHeaderStyle.Nonclickable ; // 针对数据库的字段名称,建立与之适应显示表头lv.Columns.Add ( "姓名" , 60 , HorizontalAlignment.Right ) ; lv.Columns.Add ( "住宅电话" , 100 , HorizontalAlignment.Left ) ; lv.Columns.Add ( "办公电话" , 100 , HorizontalAlignment.Left ) ; lv.Columns.Add ( "移动电话" , 100 , HorizontalAlignment.Left ) ; lv.Columns.Add ( "居住地点" , 100 , HorizontalAlignment.Left ) ; lv.Columns.Add ( "工作单位" , 100 , HorizontalAlignment.Left ) ; lv.Columns.Add ( "电子邮件" , 100 , HorizontalAlignment.Left ) ; lv.Visible = true ; OleDbDataReader reader ; string strCommand = "SELECT * FROM Persons" ; this.conConnection.Open ( ) ;// 打开数据连接OleDbCommand cmd = new OleDbCommand ( strCommand , conConnection ) ; reader = cmd.ExecuteReader ( ) ;//获得数据集// 不断往列表中添加数据记录while ( reader.Read ( ) ) { ListViewItem li = new ListViewItem ( ) ; li.SubItems.Clear ( ) ; li.SubItems[0].Text = reader["name"].ToString ( ) ; li.SubItems.Add ( reader["HomePhone"].ToString ( ) ) ; li.SubItems.Add ( reader["WorkPhone"].ToString ( ) ) ; li.SubItems.Add ( reader["MobilePhone"].ToString ( ) ) ; li.SubItems.Add ( reader["City"].ToString ( ) ) ; li.SubItems.Add ( reader["Address"].ToString ( ) ) ; li.SubItems.Add ( reader["Email"].ToString ( ) ) ; lv.Items.Add ( li ) ; } reader.Close ( ) ; // 关闭数据集// 在Form中添加此列表this.Controls.Add ( lv ) ; // 关闭Form的时候,同时也关闭数据连接this.Closed+=new EventHandler ( this_Closed ) ; } protected void this_Closed ( object sender , EventArgs eArgs ) { this.conConnection.Close ( ) ; file://关闭数据连接} public static void Main ( ) { Application.Run ( new MainForm ( ) ) ; } }
图01:用ListView显示数据记录 五. 对于其他数据库如何处理 对于其他数据库也需要用ListView来显示数据记录,和上面的一个主要区别在于建立不同的数据字符串,下面就以SQL Server 7.0为例来简要说明: 如果访问的数据库是SQL Server 7.0,只需要把上面源代码中的一条语句: |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
12037 浏览 2 评论
4396 浏览 3 评论
3610 浏览 5 评论
9110 浏览 47 评论
4324 浏览 9 评论
578浏览 0评论
359浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-1 07:40 , Processed in 0.457936 second(s), Total 46, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191