(2).ListBox组件的数据绑定:
ListBox组件的数据绑定和ComboBox组件的数据绑定的方法大致相同,也是通过设定"DisplayMember"、"ValueMember"。其中"DataSource"这三个属性来完成的。并且这三个属性在ListBox组件中代表的意思和ComboBox组件的意思基本一样。由此可以得到ListBox组件对本地数据库和远程数据库进行数据绑定的源程序。其中ListBox01.cs是对本地数据库进行数据绑定,ListBox02.cs是对远程数据库进行数据绑定,具体如下:

ListBox01.cs源程序代码节选:

public class Form1 : Form

{

private ListBox ListBox1 ;

private Button button1 ;

private System.Data.DataSet myDataSet ;

private System.ComponentModel.Container components = null ;

public Form1 ( )

{

file://打开数据链接,得到数据集

GetConnect ( ) ;

InitializeComponent ( ) ;

}

file://清除程序中使用过的资源

protected override void Dispose ( bool disposing )

{

if ( disposing )

{

if ( components != null )

{

components.Dispose ( ) ;

}

}

base.Dispose ( disposing ) ;

}

private void GetConnect ( )

{

file://创建一个 OleDbConnection

string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = db.mdb" ;

OleDbConnection myConn = new OleDbConnection ( strCon ) ;

string strCom = " SELECT * FROM person " ;

file://创建一个 DataSet

myDataSet = new DataSet ( ) ;

myConn.Open ( ) ;

file://用 OleDbDataAdapter 得到一个数据集

OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;

file://把Dataset绑定person数据表

myCommand.Fill ( myDataSet , "person" ) ;

file://关闭此OleDbConnection

myConn.Close ( ) ;

}

private void button1_Click ( object sender , System.EventArgs e )

{

ListBox1.DataSource = myDataSet ;

ListBox1.DisplayMember = "person.xm" ;

ListBox1.ValueMember = "person.xm" ;

}

static void Main ( )

{

Application.Run ( new Form1 ( ) ) ;

}

}

以下代码是ListBox组件对Sql Server 2000数据库进行数据绑定的源程序节选(ListBox02.cs):

{

private ListBox ListBox1 ;

private Button button1 ;

private System.Data.DataSet myDataSet ;

private System.ComponentModel.Container components = null ;

public Form1 ( )

{

file://打开数据链接,得到数据集

GetConnect ( ) ;

InitializeComponent ( ) ;

}

file://清除程序中使用过的资源

protected override void Dispose ( bool disposing )

{

if ( disposing )

{

if ( components != null )

{

components.Dispose ( ) ;

}

}

base.Dispose ( disposing ) ;

}

private void GetConnect ( )

{

// 设定数据连接字符串,此字符串的意思是打开Sql server数据库,服务器名称为server1,数据库为data1

string strCon = "Provider = SQLOLEDB.1 ; Persist Security Info = False ; User ID = sa ; Initial Catalog = data1 ; Data Source = server1 " ;

OleDbConnection myConn = new OleDbConnection ( strCon ) ;

myConn.Open ( ) ;

string strCom = " SELECT * FROM person " ;

file://创建一个 DataSet

myDataSet = new DataSet ( ) ;

file://用 OleDbDataAdapter 得到一个数据集

OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;

file://把Dataset绑定person数据表

myCommand.Fill ( myDataSet , " person " ) ;

file://关闭此OleDbConnection

myConn.Close ( ) ;

}

private void button1_Click ( object sender , System.EventArgs e )

{

ListBox1.DataSource = myDataSet ;

ListBox1.DisplayMember = "person.xm" ;

ListBox1.ValueMember = "person.xm" ;

}

static void Main ( )

{

Application.Run ( new Form1 ( ) ) ;

}}

六. 总结

本文介绍的实现数据绑定组件的都是在程序设计中经常用到的WinForm组件。当然在.Net FrameWork SDK中提供的WinForm组件是很多的,由于本文的限制,不可能一一介绍,一般来说,WinForm组件都可以实现数据绑定,虽然在某些具体的方法上有所差异,但也总是大同小异。在以下的文章中,将以此为基础探讨Visual C#中数据库编程。