MySQL数据库和ASP.NET如何强强联手

2008-02-23 07:39:43来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  由于富有竞争力的价格和易于使用,MySQL在市场占有率方面逐步提升。开放源代码社区为了扩展MySQL的使用范围,研发出了.Net框架(.NET Framework)中能够使用的数据库连接器。我们就来学习一下如何在.Net应用程式中使用MySQL。

  和.NET的数据整合

  MySQL 社区已研发出了MySQL的数据接口,他提供了连接数据源和程式代码的基本功能。在Windows平台上,有如下的MySQL连接器:

  •   MySQL Connector/Net 1.0 (之前被称为ByteFX.Data):是个为MySQL设计的开放源代码.NET数据接口。他是完全用C#来研发的,我们能够在在 MySQL.com网站上找到他。(注意:在本文的例子中,我们都会使用MySQL Connector/Net 1.0这个数据接口来连接数据库,利用Windows安装程式即可轻易安装他,他的代码实例和文档也包含其中。)
  •   MySQLDirect .NET Data Provider: 是个由 Core Lab 研发的商业数据接口。他的价格由购买的许可证的类型决定,但是我们能够下载他的试用版。

  假如您使用 Mono,那么在 Mono网站上能够找到PHP连接器的下载。假如您在Windows平台上运行Mono的话,您下载的连接器包含了安装程式。假如不是的话,那就要根据您的操作系统的种类去下载合适的连接器了。

  使用MySQL数据接口

  安装好MySQL的数据接口后,您必须在您的代码中引入他才能使用。您能够使用 MySql.Data.MySqlClient这个名空间来连接 MySQL 服务器。在C#中,能够使用using语句来引入MySQL数据接口:

  using MySql.Data.MySqlClient;

  另外,您也能够在一个ASP.NET的网页表单(Web Form)中通过使用导入(Import)指令来引入MySQL数据接口:

  或,您也能够在您的代码里在使用这个名空间时,写全一个类的完整路径,但是这样的话会比使用Import指令来导入输入更多的字符,浪费更多的字节。指定了名空间后,我们就能够和MySQL数据库进行数据交互了。MySql.Data.MySqlClient这个名空间提供了许多用于处理MySQL数据的类。下面是这些类的一个样本:

  •   MySqlConnection: 管理和 MySQL 服务器/数据库的连接;
  •   MySqlDataAdapter: 一套用于填充DataSet对象和更新MySQL数据库的命令和连接的集合;
  •   MySqlDataReader: 让您能够从一个MySQL数据库读取数据。他是个单向的数据流;
  •   MySqlCommand: 提供向数据库服务器发送指令的功能;
  •   MySqlException: 当发生问题时提供例外处理。

  连接MySQL数据库

  使用MySQL数据库的第一步是要通过MySQLConnection类和数据库建立连接。通过一个连接字串,MySqlConnection 将会被实例化成一个示例。连接字符串将告诉代码到哪里去找MySQL服务器连同其他一些选项。

  一个连接字串告诉代码使用指定的用户名和密码去连接一个名为MySQLTestServer的MySQL服务器,并进入techrepublic数据库。我在我的测试机上设定了允许匿名登陆(这样的设定有很大的安全漏洞,所以不建议您在生产服务器上也这么做),所以在范例中将会使用如下的连接字串:

  "server=localhost; database=sitepoint;"

  指定了连接字串后,MySqlConnection对象的Open方法就被调用并打开连接。连接建立后,您就能够给MySQL数据库发送命令或从数据库获得数据了。

  ASP.NET和MySQL的组合

  让我们更深入的讨论一下结合MySqlConnection类和其他的类来生成一个MySQL服务器上的数据库列表。表 B列出了一个使用C#写的ASP.NET的网页表单。他建立了一个连接,接着给服务器下了一个指令(SHOW DATABASES),然后通过MySqlReader对象把结果显示出来。

  用 MySqlCommand 对象向MySQL服务器发送 SHOW DATABASES 命令和直接在 MySQL 管理工具中输入这个命令得结果是相同的。唯一的区别是,我们在代码中必须使用另一个对象来获取结果集。MySqlDataReader 对象在获取结果时被实例化(通过 MySqlCommand 类的 ExecuteReader 方法)。MySqlDataReader 对象的 GetString 方法被用于通过ASP.NET的标签控制来显示结果集中的数据。GetString 方法的指针0指定了显示结果集的当前行(在while循环中)的第一列数据。

  Mono提示

  假如您使用开放源代码的Mono研发平台,例子中的代码只需要做小小的改变就能正常的运行。MySQL的数据接口在 ByteFX.Data.MySqlClient 这个空间名里,而不是Windows上的MySql.Data.MySqlClient空间名。事实上 MySQL 的数据接口原来是由 ByteFX公司研发的,但是后被MySQL公司收购。所以假如您使用Mono的话,您必须这样声明空间名:

  using ByteFX.Data.MySqlClient;

  MySQL 和 .NET 的组合提供了一个强大的研发平台。MySQL在开源社区得到了强大的技术支持,.NET也通过 Mono 而被开放源代码社区所接受。这样的组合提供了一个在Windows,及其他语言如UNIX或Linux,环境下高度灵活的研发平台。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: MySQL服务器安装之后如何调节性能

下一篇: 实现 Ajax 客户机和服务器层