(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#中数据库编程。