仓酷云

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

[学习教程] MYSQL网站制作之让MySQL与ASP.NET共同更壮大

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:18:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
不可否认,MySQL也是一个很好的关系型数据库,或许在技术上它与其他领先的关系数据库相差并不大,或不具有劣势。但是,对于一些企业环境来说,MySQL显然不具有优势。开放源代码社区为了扩大MySQL的利用局限,开辟出了.Net框架(.NETFramework)中可使用的数据库毗连器。我们就来进修一下怎样在.Net使用程序中利用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数据接口:
  大概,你也能够在你的代码里在利用这个名空间时,写全一个类的完全路径,可是如许的话会比利用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,情况下高度天真的开辟平台。  请作者接洽本站,实时附注您的姓名。接洽邮箱:edu#chinaz.com(把#改成@)。

尽管MySQL也有一个认证培训项目,但是它的培训却要比Oracle或MS-SQL相差很远。尽管有的使用MySQL的用户表示,MySQL很容易上手,但是对于具有企业级数据库需求的用户来说,
不帅 该用户已被删除
沙发
发表于 2015-1-19 08:15:06 | 只看该作者
备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。
小女巫 该用户已被删除
板凳
发表于 2015-1-27 11:14:03 | 只看该作者
如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.
飘灵儿 该用户已被删除
地板
发表于 2015-2-5 09:05:23 | 只看该作者
我个人认为就是孜孜不懈的学习
精灵巫婆 该用户已被删除
5#
发表于 2015-2-11 08:27:52 | 只看该作者
呵呵,这就是偶想说的
海妖 该用户已被删除
6#
发表于 2015-3-2 03:53:15 | 只看该作者
对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。
老尸 该用户已被删除
7#
发表于 2015-3-11 02:36:26 | 只看该作者
学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!
8#
发表于 2015-3-17 19:09:39 | 只看该作者
理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识
活着的死人 该用户已被删除
9#
 楼主| 发表于 2015-3-24 21:27:27 | 只看该作者
然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-29 23:50

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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