仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 613|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL教程之MySQL利用局限扩大 与ASP.NET共同更壮大

[复制链接]
冷月葬花魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 20:14:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
MySQL数据库归MySQLAB公司所有,但是这个软件是开源的,有一个MySQL学习教程可以免费下载。稍俱常识的新入门者都可以轻松实现在一个常见硬件上安装和配置MySQL。因为富有合作力的代价和易于利用,MySQL在市场占据率方面慢慢提拔。开放源代码社区为了扩大MySQL的利用局限,开辟出了.Net框架(.NETFramework)中可使用的数据库毗连器。我们就来进修一下怎样在.Net使用程序中利用MySQL。
每周三公布的TechRepublic的.NET通信,包括有收集服务,asp.net,ADO.NET,和VisualStudio.NET相干的有用技能与代码实例.如今就主动定阅!
MySQL垂垂的成了在选择数据库平台时一个实在可行的数据库计划。可以证实这一点的就是很多公司都选择mySQL作为他们的数据库平台,比方Google、美联社(TheAssociatedPRess)和美国国度航空宇航局(NASA)。固然关于一个开放源代码来讲,昂贵的代价经常被看成次要长处来讲服客户,可是关于象Google那样的年夜范围的构造来讲,他们不会宁神的把十分有效的信息寄存在一个只要代价上风的数据库产物中。MySQL真实的气力远远的凌驾了他的代价上风,他供应了丰厚的来自开放源代码社区和贸易化的附加工具。

和.NET的数据整合
MySQL社区已开辟出了MySQL的数据接口,他供应了毗连数据源和程序代码的基础功效。在Windows平台上,有以下的MySQL毗连器:
*MySQLConnector/Net1.0(之前被称为ByteFX.Data):是一个为MySQL计划的开放源代码.NET数据接口。它是完整用C#来开辟的,我们能够在在MySQL.com网站上找到它。(注重:在本文的例子中,我们城市利用MySQLConnector/Net1.0这个数据接口来毗连数据库,使用Windows安装程序便可容易安装它,它的代码实例和文档也包括个中。)
*MySQLDirect.NETDataProvider:是一个由CoreLab开辟的贸易数据接口。他的代价由购置的允许证的范例决意,可是我们能够下载它的试用版。
假如你利用Mono,那末在Mono网站上能够找到php毗连器的下载。假如你在Windows平台上运转Mono的话,你下载的毗连器包括了安装程序。假如不是的话,那就要依据你的操纵体系的品种往下载符合的毗连器了。

利用MySQL数据接口
安装好MySQL的数据接口后,你必需在你的代码中引进它才干利用。你可使用MySql.Data.MySqlClient这个名空间来毗连MySQL服务器。在C#中,可使用using语句来引进MySQL数据接口:
usingMySql.Data.MySqlClient;
别的,你也能够在一个ASP.NET的网页表单(WebForm)中经由过程利用导进(Import)指令来引进MySQL数据接口:
<%@ImportNamespace"MySql.Data.MySqlClient"%>
大概,你也能够在你的代码里在利用这个名空间时,写全一个类的完全路径,可是如许的话会比利用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的网页表单。它创建了一个毗连,接着给服务器下了一个指令(SHOWDATABASES),然后经由过程MySqlReader工具把了局显现出来。
用MySqlCommand工具向MySQL服务器发送SHOWDATABASES命令和间接在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的话,你必需如许声明空间名:
usingByteFX.Data.MySqlClient;

结语
MySQL和.NET的组合供应了一个壮大的开辟平台。MySQL在开源社区失掉了壮大的手艺撑持,.NET也经由过程Mono而被开放源代码社区所承受。如许的组合供应了一个在Windows,及其他言语如UNIX或linux,情况下高度天真的开辟平台。
MySQL在业界的流行所带来的另一个好处是,人们总可以很轻松地发现本行业的MySQL学习教程。厂商都希望他们的开发工具和应用程序框架可以与MySQL数据库兼容。
简单生活 该用户已被删除
沙发
发表于 2015-1-18 19:10:42 | 只看该作者
每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。
再现理想 该用户已被删除
板凳
发表于 2015-1-24 19:07:58 | 只看该作者
如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。
老尸 该用户已被删除
地板
发表于 2015-2-2 11:59:48 | 只看该作者
很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。
第二个灵魂 该用户已被删除
5#
发表于 2015-2-7 20:09:03 | 只看该作者
SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。
分手快乐 该用户已被删除
6#
发表于 2015-2-23 10:00:33 | 只看该作者
如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.
飘飘悠悠 该用户已被删除
7#
发表于 2015-3-7 07:56:20 | 只看该作者
这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
谁可相欹 该用户已被删除
8#
发表于 2015-3-14 16:15:15 | 只看该作者
从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。
飘灵儿 该用户已被删除
9#
发表于 2015-3-21 13:05:21 | 只看该作者
另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-20 18:00

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表