知识大全 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 //创建一个 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 ( ) ;

  ( ) 连接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://创建一个 DataSetmyDataSet = new DataSet ( ) ;file://用 OleDbDataAdapter 得到一个数据集OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom myConn ) ;file://把Dataset绑定person数据表myCommand Fill ( myDataSet person ) ;file://关闭此OleDbConnectionmyConn Close ( ) ;

  (二) 根据不同组件 采用不同的数据绑定   对于简单型的数据绑定 数据绑定的方法其实比较简单 在得到数据集以后 一般是通过把数据集中的某个字段绑定到组件的显示属性上面 譬如TextBox组件和Label组件 是绑定到 Text 属性 对于复杂型的数据绑定一般是通过设定其某些属性值来实现绑定的 这些下面将会具体介绍

  三. 数据绑定一般步骤   (一) 无论是简单型的数据绑定 还是复杂型的数据绑定 要实现绑定的第一步就是就是要连接数据库 得到可以操作的DataSet 下面二段代码是分别连接Access 和Sql Server 数据库 并获得DataSet   ( ) 连接Access 得到DataSet

   //创建一个 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 ( ) ;

  ( ) 连接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://创建一个 DataSetmyDataSet = new DataSet ( ) ;file://用 OleDbDataAdapter 得到一个数据集OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom myConn ) ;file://把Dataset绑定person数据表myCommand Fill ( myDataSet person ) ;file://关闭此OleDbConnectionmyConn 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 : Formprivate 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://创建一个 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 )textBox DataBindings Add ( Text myDataSet person xm ) ;static void Main ( ) Application Run ( new Form ( ) ) ;

图 对TextBox组件数据绑定的程序界面

     得到TextBox组件对本地数据库中的字段进行数据绑定的程序后 可以方便的得到对远程数据库中的某些字段进行数据绑定的源程序代码(TextBox cs) 具体如下

  

  public class Form : Formprivate 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://创建一个 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 )textBox 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组件对本地数据库的数据绑定程序 也就十分方便的得到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组件数据绑定的程序界面

  以下代码是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 ( ) ) ;

  六. 总结   本文介绍的实现数据绑定组件的都是在程序设计中经常用到的WinForm组件

cha138/Article/program/net/201311/11707

相关参考

知识大全 Visual C#中轻松浏览数据库记录

VisualC#中轻松浏览数据库记录  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 用Delphi

知识大全 用Visual C#来修改和删除数据库记录

用VisualC#来修改和删除数据库记录  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在前面的一

知识大全 ASP.NET 2.0中实现模板中的数据绑定

ASP.NET2.0中实现模板中的数据绑定  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  模板化

知识大全 c# DataGridView数据绑定编程与显示

c#DataGridView数据绑定编程与显示  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &

知识大全 介绍Visual C++中的二十个常用方法

介绍VisualC++中的二十个常用方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一打开C

知识大全 WPF数据绑定之绑定声明

WPF数据绑定之绑定声明  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本主题讨论声明绑定的不同

知识大全 数据控件数据绑定方法

  Datalistgridviewrepeater数据绑定方法    SqlConnectioncon=newSqlConnection();  conConnectionString=server

知识大全 ASP.NET数据绑定—多样的绑定方式

ASP.NET数据绑定—多样的绑定方式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在这个系列

知识大全 7.2.3 数据源控件和数据绑定控件相配合

   如前两个小节所述ASPNET为处理数据提供两组控件数据源控件和数据绑定控件本节介绍它们是如何相互配合的数据源控件处理后台的数据连接以及编辑排序分页等行为数据绑定控件

知识大全 在Visual C++中用ADO进行数据库

在VisualC++中用ADO进行数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  生成应用