程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 在Visual C#中用ListView顯示數據記錄(2)

在Visual C#中用ListView顯示數據記錄(2)

編輯:關於C語言
3).對數據集中的數據記錄進行遍歷,在遍歷中添加記錄到列表中。

可以利用數據集中的Read ( )方法,來實現對數據記錄的遍歷,Read ( )方法是首先指向首數據記錄,並判斷從此記錄是否為尾記錄,如果不是則返回false,如果是則返回true。並且如果不是尾記錄則自動把數據指針移到下一條記錄上,然後在判斷此記錄是否是尾記錄,如此循環,直至到尾記錄為止。根據此可設計以下代碼:

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 ) ;
}

(4). 關閉數據集,關閉數據連接。

關閉數據集和關閉數據連接是很容易的,只要調用這二個對象的Close()方法即可,也只要調用在程序中具體如下:

reader.Close ( ) ; file://關閉數據集
this.conConnection.Close ( ) ; // 關閉數據連接
四. 程序運行結果界面和程序源代碼(list.cs):

程序源代碼:

using System ;
using System.Windows.Forms ;
using System.Drawing ;
using System.Data ;
using System.Data.OleDb ;
class MainForm : Form
{ // 定義數據連接的字符串
private static string strConnect = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " +
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 ( ) ) ;
}
}

在成功編譯了上面源程序代碼以後,在同一目錄下建立一個Acess 2000的數據庫,命名為MY.MDB,然後在其中建立一張數據表,字段如下:name,HomePhone,WorkPhone,MobilePhone,City,Address,Email。此時運行編譯後的程序就可以得到如下運行界面:

圖01:用ListVIEw顯示數據記錄

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved