经验之谈:MySQL和ASP.NET配合

来源:百度文库 编辑:神马文学网 时间:2024/04/30 11:39:16
来源: 作者: 发布时间:2007-03-22

连接 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,环境下高度灵活的研发平台。