知识大全 Visual C#中的数据绑定操作
Posted 知
篇首语:天行健,君子以自强不息。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Visual C#中的数据绑定操作相关的知识,希望对你有一定的参考价值。
Visual C#中的数据绑定操作 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Visual C#自身没有类库 和其他的 Net开发语言一样 Visual C#调用的类库是 Net框架中的一个共有的类库 Net FrameWork SDK ADO NET是 Net FrameWork SDK提供给 Net开发语言进行数据库开发的一个系列类库的集合 在ADO NET中虽然提供了大量的用于数据库连接 数据处理的类库 但却没有提供类似DbText组件 DbList组件 DbLable组件 DbCombox组件等 要想把数据记录以ComBox ListBox等形式显示处理 使用数据绑定技术是最为方便 最为直接的方法 所谓数据绑定技术就是把已经打开的数据集中某个或者某些字段绑定到组件的某些属性上面的一种技术 说的具体些 就是把已经打开数据的某个或者某些字段绑定到Text组件 ListBox组件 ComBox等组件上的能够显示数据的属性上面 当对组件完成数据绑定后 其显示字段的内容将随着数据记录指针的变化而变化 这样程序员就可以定制数据显示方式和内容 从而为以后的数据处理作好准备 所以说数据绑定是Visual C#进行数据库方面编程的基础和最为重要的第一步 只有掌握了数据绑定方法 才可以十分方便对已经打开的数据集中的记录进行浏览 删除 插入等具体的数据操作 处理数据绑定根据不同组件可以分为二种 一种是简单型的数据绑定 另外一种就是复杂型的数据绑定 所谓简单型的数据绑定就是绑定后组件显示出来的字段只是单个记录 这种绑定一般使用在显示单个值的组件上 譬如 TextBox组件和Label组件 而复杂型的数据绑定就是绑定后的组件显示出来的字段是多个记录 这种绑定一般使用在显示多个值的组件上 譬如 ComBox组件 ListBox组件等 本文就是来详细介绍如何用Visual C#实现这二种绑定 在数据库的选择上 为了使内容更加全面 采用了当下比较流行的二种数据库 一种是本地数据库Acess 另外一种是远程数据库Sql Server
一 本文程序设计和运行的软件环境
( )微软公司视窗 服务器版
( ) Net FrameWork SDK Beta
( )MADC (Microsoft Acess Data Component)以上版本
二 程序中使用的数据库的数据字典
( )本地数据库Access 的数据库的名称为 db mdb 在这个数据库中定义了一张表 person 这张表的数据结构如下表
字段名称 字段类型 字段意思
id 数字 序号
xm 文本 姓名
xb 文本 性别
nl 文本 年龄
zip 文本 邮政编码
( )远程数据库Sql Server 的数据库服务器名称为 Server 数据库名称为 Data 登陆的ID为 sa 口令为空 在数据库也定义了一张 person 表 数据结构如上表
三 数据绑定一般步骤
(一)无论是简单型的数据绑定 还是复杂型的数据绑定 要实现绑定的第一步就是就是要连接数据库 得到可以操作的DataSet 下面二段代码是分别连接Access 和Sql Server 数据库 并获得DataSet
( )连接Access 得到DataSet
//创建一个 OleDbConnection string strCon = Provider = Microsoft Jet OLEDB ; 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 ( ) ;
( )连接Sql Server 得到DataSet
// 设定数据连接字符串 此字符串的意思是打开Sql server数据库 服务器名称为server 数据库为data string strCon = Provider = SQLOLEDB ; Persist Security Info = False ; User ID = sa ; Initial Catalog = data ; Data Source = server ; 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 ( ) ;
(二)根据不同组件 采用不同的数据绑定
对于简单型的数据绑定 数据绑定的方法其实比较简单 在得到数据集以后 一般是通过把数据集中的某个字段绑定到组件的显示属性上面 譬如TextBox组件和Label组件 是绑定到 Text 属性
对于复杂型的数据绑定一般是通过设定其某些属性值来实现绑定的 这些下面将会具体介绍
四 简单型组件的数据绑定
( )TextBox组件的数据绑定
通过下列语句就可以把数据集(即为 myDataSet)的某个字段绑定到TextBox组件的 Text 属性上面了
textBox DataBindings Add ( Text myDataSet person xm ) ;
注释 此时绑定是Access 数据库中 person 表的 xm 字段
由此可以得到绑定TextBox组件的源程序代码(TextBox cs) 下列代码操作的数据库是Access 如下
public class Form : Form private TextBox textBox ; private Button button ; private System Data DataSet myDataSet ; private System ComponentModel Container ponents = null ; public Form ( ) file://打开数据链接 得到数据集 GetConnect ( ) ; InitializeComponent ( ) ; file://清除程序中使用过的资源 protected override void Dispose ( bool disposing ) if ( disposing ) if ( ponents != null ) ponents Dispose ( ) ; base Dispose ( disposing ) ; private void GetConnect ( ) file://创建一个 OleDbConnection string strCon = Provider = Microsoft Jet OLEDB ; 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 button _Click ( object sender System EventArgs e ) textBox DataBindings Add ( Text myDataSet person xm ) ; static void Main ( ) Application Run ( new Form ( ) ) ;
得到TextBox组件对本地数据库中的字段进行数据绑定的程序后 可以方便的得到对远程数据库中的某些字段进行数据绑定的源程序代码(TextBox cs) 具体如下
public class Form : Form private TextBox textBox ; private Button button ; private System Data DataSet myDataSet ; private System ComponentModel Container ponents = null ; public Form ( ) file://打开数据链接 得到数据集 GetConnect ( ) ; InitializeComponent ( ) ; file://清除程序中使用过的资源 protected override void Dispose ( bool disposing ) if ( disposing ) if ( ponents != null ) ponents Dispose ( ) ; base Dispose ( disposing ) ; private void GetConnect ( ) // 设定数据连接字符串 此字符串的意思是打开Sql server数据库 服务器名称为server 数据库为data string strCon = Provider = SQLOLEDB ; Persist Security Info = False ; User ID = sa ; Initial Catalog = data ; Data Source = server ; 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 button _Click ( object sender System EventArgs e ) textBox DataBindings Add ( Text myDataSet person xm ) ; static void Main ( ) Application Run ( new Form ( ) ) ;
( )Label组件的数据绑定
在掌握了TextBox组件数据绑定以后 可以十分方便的得到Label组件的数据绑定方法 因为这二者实现的方法实在是太相似了 下列语句是把得到数据集的 xm 字段绑定到Label组件的 Text 属性上
label DataBindings Add ( Text myDataSet person xm ) ;
注释 此时绑定是Access 数据库中 person 表的 xm 字段 由此可以得到Label组件数据绑定的源程序代码(Label cs) 本代码操作数据库是Access
public class Form : Form private Label label ; private Button button ; private System Data DataSet myDataSet ; private System ComponentModel Container ponents = null ; public Form ( ) file://打开数据链接 得到数据集 GetConnect ( ) ; InitializeComponent ( ) ; file://清除程序中使用过的资源 protected override void Dispose ( bool disposing ) if ( disposing ) if ( ponents != null ) ponents Dispose ( ) ; base Dispose ( disposing ) ; private void GetConnect ( ) file://创建一个 OleDbConnection string strCon = Provider = Microsoft Jet OLEDB ; 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 button _Click ( object sender System EventArgs e ) label DataBindings Add ( Text myDataSet person xm ) ; static void Main ( ) Application Run ( new Form ( ) ) ;
得到了Label组件对Access 数据库数据绑定的程序代码 改换一下程序中数据链接 就可以得到Label组件对Sql Server 数据库数据绑定的源程序代码(Label cs) 具体如下
public class Form : Form private Label label ; private Button button ; private System Data DataSet myDataSet ; private System ComponentModel Container ponents = null ; public Form ( ) file://打开数据链接 得到数据集 GetConnect ( ) ; InitializeComponent ( ) ; file://清除程序中使用过的资源 protected override void Dispose ( bool disposing ) if ( disposing ) if ( ponents != null ) ponents Dispose ( ) ; base Dispose ( disposing ) ; private void GetConnect ( ) // 设定数据连接字符串 此字符串的意思是打开Sql server数据库 服务器名称为server 数据库为data string strCon = Provider = SQLOLEDB ; Persist Security Info = False ; User ID = sa ; Initial Catalog = data ; Data Source = server ; 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 button _Click ( object sender System EventArgs e ) label DataBindings Add ( Text myDataSet person xm ) ; static void Main ( ) Application Run ( new Form ( ) ) ;
五 复杂型组件的数据绑定
在上面的介绍中 了解到对复杂型组件的数据绑定是通过设定组件的某些属性来完成数据绑定的 首先来介绍一下ComboBox组件的数据绑定
( ) ComboBox组件的数据绑定
在得到数据集后 只有设定好ComboBox组件的的三个属性就可以完成数据绑定了 这三个属性是 DisplayMember ValueMember 其中 DataSource 是要显示的数据集 DisplayMember 是ComboBox组件显示的字段 ValueMember 是实际使用值 具体如下
ComboBox DataSource = myDataSet ;ComboBox DisplayMember = person xm ;ComboBox ValueMember = person xm ;
注释 此时绑定是Access 数据库中 person 表的 xm 字段 由此可以得到ComboBox组件数据绑定的源程序代码(Combo cs) 本代码操作数据库是Access
public class Form : Formprivate ComboBox ComboBox ;private Button button ;private System Data DataSet myDataSet ;private System ComponentModel Container ponents = null ;public Form ( )file://打开数据链接 得到数据集GetConnect ( ) ;InitializeComponent ( ) ;file://清除程序中使用过的资源protected override void Dispose ( bool disposing )if ( disposing )if ( ponents != null ) ponents Dispose ( ) ;base Dispose ( disposing ) ;private void GetConnect ( )file://创建一个 OleDbConnectionstring strCon = Provider = Microsoft Jet OLEDB ; Data Source = db mdb ;OleDbConnection myConn = new OleDbConnection ( strCon ) ;string strCom = SELECT * FROM person ;file://创建一个 DataSetmyDataSet = new DataSet ( ) ;myConn Open ( ) ;file://用 OleDbDataAdapter 得到一个数据集OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom myConn ) ;
file://把Dataset绑定person数据表myCommand Fill ( myDataSet person ) ;file://关闭此OleDbConnectionmyConn Close ( ) ;private void button _Click ( object sender System EventArgs e )ComboBox DataSource = myDataSet ;ComboBox DisplayMember = person xm ;ComboBox ValueMember = person xm ;static void Main ( ) Application Run ( new Form ( ) ) ;
得到了ComboBox组件对本地数据库的数据绑定程序 也就十分方便的得到ComboBox组件绑定Sql Server 源程序代码(Combox cs)具体如下
public class Form : Formprivate ComboBox ComboBox ;private Button button ;private System Data DataSet myDataSet ;private System ComponentModel Container ponents = null ;public Form ( )file://打开数据链接 得到数据集GetConnect ( ) ;InitializeComponent ( ) ;file://清除程序中使用过的资源protected override void Dispose ( bool disposing )if ( disposing )if ( ponents != null ) ponents Dispose ( ) ;base Dispose ( disposing ) ;private void GetConnect ( )// 设定数据连接字符串 此字符串的意思是打开Sql server数据库 服务器名称为server 数据库为data string strCon = Provider = SQLOLEDB ; Persist Security Info = False ; User ID = sa ; Initial Catalog = data ; Data Source = server ;OleDbConnection myConn = new OleDbConnection ( strCon ) ;myConn Open ( ) ;string strCom = SELECT * FROM person ;file://创建一个 DataSetmyDataSet = new DataSet ( ) ;file://用 OleDbDataAdapter 得到一个数据集OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom myConn ) ;file://把Dataset绑定person数据表myCommand Fill ( myDataSet person ) ;file://关闭此OleDbConnectionmyConn Close ( ) ;private void button _Click ( object sender System EventArgs e )ComboBox DataSource = myDataSet ;ComboBox DisplayMember = person xm ;ComboBox ValueMember = person xm ;static void Main ( ) Application Run ( new Form ( ) ) ;
( )ListBox组件的数据绑定
ListBox组件的数据绑定和ComboBox组件的数据绑定的方法大致相同 也是通过设定 DisplayMember ValueMember 其中 DataSource 这三个属性来完成的 并且这三个属性在ListBox组件中代表的意思和ComboBox组件的意思基本一样 由此可以得到ListBox组件对本地数据库和远程数据库进行数据绑定的源程序 其中ListBox cs是对本地数据库进行数据绑定 ListBox cs是对远程数据库进行数据绑定 具体如下
ListBox cs源程序代码节选
public class Form : Formprivate ListBox ListBox ;private Button button ;private System Data DataSet myDataSet ;private System ComponentModel Container ponents = null ;public Form ( )file://打开数据链接 得到数据集GetConnect ( ) ;InitializeComponent ( ) ;file://清除程序中使用过的资源protected override void Dispose ( bool disposing )if ( disposing )if ( ponents != null ) ponents Dispose ( ) ;base Dispose ( disposing ) ;private void GetConnect ( )file://创建一个 OleDbConnectionstring strCon = Provider = Microsoft Jet OLEDB ; Data Source = db mdb ;OleDbConnection myConn = new OleDbConnection ( strCon ) ;string strCom = SELECT * FROM person ;file://创建一个 DataSetmyDataSet = new DataSet ( ) ;myConn Open ( ) ;file://用 OleDbDataAdapter 得到一个数据集OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom myConn ) ;file://把Dataset绑定person数据表myCommand Fill ( myDataSet person ) ;file://关闭此OleDbConnectionmyConn Close ( ) ;private void button _Click ( object sender System EventArgs e )ListBox DataSource = myDataSet ;ListBox DisplayMember = person xm ;ListBox ValueMember = person xm ;static void Main ( ) Application Run ( new Form ( ) ) ;
以下代码是ListBox组件对Sql Server 数据库进行数据绑定的源程序节选(ListBox cs)
private ListBox ListBox ;private Button button ;private System Data DataSet myDataSet ;private System ComponentModel Container ponents = null ; public Form ( )file://打开数据链接 得到数据集GetConnect ( ) ;InitializeComponent ( ) ;file://清除程序中使用过的资源protected override void Dispose ( bool disposing )if ( disposing )if ( ponents != null ) ponents Dispose ( ) ;base Dispose ( disposing ) ;private void GetConnect ( )// 设定数据连接字符串 此字符串的意思是打开Sql server数据库 服务器名称为server 数据库为data string strCon = Provider = SQLOLEDB ; Persist Security Info = False ; User ID = sa ; Initial Catalog = data ; Data Source = server ;OleDbConnection myConn = new OleDbConnection ( strCon ) ;myConn Open ( ) ;string strCom = SELECT * FROM person ;file://创建一个 DataSetmyDataSet = new DataSet ( ) ;file://用 OleDbDataAdapter 得到一个数据集OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom myConn ) ;file://把Dataset绑定person数据表myCommand Fill ( myDataSet person ) ;file://关闭此OleDbConnectionmyConn Close ( ) ;private void button _Click ( object sender System EventArgs e )ListBox DataSource = myDataSet ;ListBox DisplayMember = person xm ;ListBox ValueMember = person xm ;static void Main ( ) Application Run ( new Form ( ) ) ;
六 总结
cha138/Article/program/net/201311/12289
相关参考
c#DataGridView数据绑定编程与显示 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &
VisualC#实现DB2数据库的编程例子 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在Vi
知识大全 Visual C#实现DB2数据库的编程例子[1]
VisualC#实现DB2数据库的编程例子[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 Visual C#实现DB2数据库的编程例子[2]
VisualC#实现DB2数据库的编程例子[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!ol
如何用C#和ADO.NET建立一个数据绑定网格 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 数
知识大全 Visual C#中实现DB2数据库的编程实例[1]
VisualC#中实现DB2数据库的编程实例[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 Visual C#中实现DB2数据库的编程实例[3]
VisualC#中实现DB2数据库的编程实例[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 Visual C#中实现DB2数据库的编程实例[2]
VisualC#中实现DB2数据库的编程实例[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!t
VisualBasic和C#中的LINQ聚合 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Ag
C#操作技巧的数据类型之间的转换 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 我们在VB中的数