代码改变世界

ASP.NET连接MySQL

2008-12-10 00:02  libiver  阅读(403)  评论(0编辑  收藏  举报

  今天来看blog,发现很长时间没有写点自己学习的东西了。嘿嘿,可好好想想发现自己也没学到什么,除了这段时间学习了AS3,从广州回来开始学习Flex AIR,也开始做另一个XXX的项目,今天就写一小点写的ASP.NET连接MySQL。

  RIA现在感觉是火的很,MS也用Silverlight直追Adobe。一直关注着,不知道以后这架到底“干”的么样?

  Adobe的Flex平台做web的RIA做的很不错,就是对desktop支持不好,现在为了这点搞了个AIR这玩意,所以很兴奋地在这个XXX项目用了这套解决方案,一步一步了解了情况后发现了一个大问题,那就是Flex AIR不能直接操作数据库(现在可以操作数据库文件.db),虽然这样还是不方便,后来去了解了一些情况后,发现可以使用<mx:HttpService>和<mx:WebService>利用网络来与数据库进行交互(正好以前也学习过ASP.NET,不过现在忘记了,MySQL以前项目紧,也没好好花时间去学习,这次感觉是从头来)。我是选择了<mx:WebService>与一个基于C#语言的ASP.NET Web Service工程通讯操作MySQL数据库。

  首先为了在ASP.NET中使用MySQL,需要去MySQL的官方网站下载MySQL Connector/.NET组件(http://dev.mysql.com/downloads/connector/net/5.2.html 现在最新版本是5.2,可以下载Installer文件,也可以下载no Installer文件,我下载的安装包不能安装成功,总是最后一步配置VS 2005失败,所以只有用非安装包了)

  在我们建立了工程之后,按如下操作:

   Website->Add Reference,然后Add Reference对话框的Browse选项卡中选择非安装包解压后bin目录下的MySql.Data.dll文件,然后OK。这样在Solution Explorer中看到Bin目录下已经添加了对MySql.Data.dll的引用。

                     

                                     注意选择这个文件,不然在工程中不能使用MySQL提供的方法。

 

                                             

  然后可以添加对MySQL的引用,如下:

 

  再我们第一次连接数据库的时候一般需要判断MySQL数据库中是否有 我们要使用的数据库,要是没有就要创建。一般有很多方法,比如想SQL Server提供的API,当然MySQL也提供了这样的API,只不过我没发现有C#的。再这里我们使用查询数据库自己的系统表的方法,通过查询FROM information_schema数据库中的SCHEMATA 表中SCHEMA_NAME字段,看是否能够查询到要连接的数据库,这样就可以实现判断了,代码如下:

 以上代码供参考,关于怎么样写MySQL脚本,下一篇再写。其实上面的代码实现跟C#中连接别的数据库是没有区别的(嘿嘿,因为这个MySQL Connector/NET本来就是用C#实现的,而且是开源的,可以从上面那个链接下载),很简单。