|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
有时也搞不懂应该学那种;主要看你以后去的那个公司是使用哪种了。就像王千祥的课上说的:企业应用现在主要就三层(其实也差不多就是MVC):表示层(主要使用html写的,很简单)、业务逻辑层(主要就是应用服务器的)。最后就是数据层(其实就是学习数据库)假如你不是只在年夜团体公司事情过的话,你必定会无机会打仗到MySQL,固然它其实不撑持事件处置,存储历程,可是它供应的功效必定能满意你的年夜部分需求,别的,简便的MySQL也有一些它独到的上风,在有些时分,它的速率乃至凌驾年夜型数据库。
那末怎样在.NET中会见MySQL数据库呢?大概良多人即刻会说:用OLEDB嘛,可是现实上接纳.NETOleDbDataProvider其实不能会见MySQL,假如你利用的话,体系会提醒你:“NetDataOLEDB供应程序(System.Data.Odbc)不撑持MSDASQL供应程序(用于Odbc驱动程序的MicrosoftOLEDB供应程序)。”,是甚么缘故原由我其实不晓得,依照MySQLDriverCS的作者的说法就是它被“abandonedbytheowner”,呵呵,也许另有些故事。
幸亏,我们另有别的的选择,这里就要先容两种会见MySQL数据库的举措。
利用ODBC.NET
ODBC.NET(全称ODBC.NETDataProvider)是一个收费的.NETFramework附加组件,必要到微软公司的网站上往下载,下载地点为:http://download.microsoft.com/download/dasdk/Install/1.0.4030.0/W98NT42KMeXP/EN-US/odbc_net.msi,它必要体系已安装MDAC2.7大概更高版本。别的,还必要安装MySQL的ODBC驱动程序,下载地点为:http://www.mysql.com/downloads/api-myodbc-2.50.html,还必要在"ODBC数据源办理器"中设置一下DSN,以下图所示:
在工具的计划上,ODBC.NET也跟OLEDB,SQL等一样,分离为OdbcConnection,OdbcCommand,OdbcDataAdapter,OdbcDataReader,用法也完整一样,假如你但愿用ODBC.NET来取代之前的OleDb.NETDataProvider,现实上完整能够经由过程查找交换的举措来修正你的程序。
以下是一段代码示例:
try
{
stringconstr="DSN=MySQL;"+"UID=;"+"PWD=";;
conn=newOdbcConnection(constr);
conn.Open();
stringquery="insertintotest.dbtablevalues10,disksidkfsdi,asdfaf,adsfasdf)";
stringtmp=null;
OdbcCommandcmd=newOdbcCommand(query,conn);
for(inti=0;i<100000;i++)
{
cmd.ExecuteNonQuery();
}
cmd.Dispose();
conn.Close();
query="select*fromtest.dbtable";
OdbcCommandcmd2=newOdbcCommand(query,conn);
conn.Open();
OdbcDataReaderreader=cmd2.ExecuteReader();
while(reader.Read())
{
tmp=reader[0].ToString();
tmp=reader[1].ToString();
tmp=reader[2].ToString();
tmp=reader[3].ToString();
}
conn.Close();
query="deletefromtest.dbtable";
OdbcCommandcmd3=newOdbcCommand(query,conn);
conn.Open();
cmd3.ExecuteNonQuery();
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
只需是用C#写过数据库使用的人必定能晓得,下面的代码实行了十万次拔出数据和读取数据,最初将数据纪录全体删除的操纵。
利用MySQLDriverCS
大概年夜部分的人都不晓得这个器材,MySQLDriverCS是MySQL数据库的一个收费开源的.NET驱动程序。和Sql.NETDataProvider是为SqlServer一样,它是专门为MySQL计划的,能够叫做MySQL.NETDataProvider。利用他不必要分外的往设置ODBC数据源,基础上只需能毗连到MySQL就可以经由过程MySQLDriverCS来会见。
MySQLDriverCS是SourceForge.NET上的一个项目,不外不晓得甚么缘故原由,这个网站在国际会见不到。
上面是利用MySQLDriverCS的代码示例:
和下面的那段代码几近千篇一律,所分歧的是Odbc酿成了MySQL,别的,必要注重的一点是Command的ExecuteReader办法在MySQLDriverCS中酿成了ExecuteReaderEx,另有些渺小的不同请参考附带的文档具体的先容。
功能测试
有些读者实在已看出来我以上写的那段代码的意图,对了,实在目标就是用来举行功能测试的。以上两段代码的实行工夫分离是:ODBC.NET为24秒摆布,MySQLDriverCS为17秒摆布。了局其实不出人不测,作为MySQL的公用数据驱动程序,MySQLDriverCS的速率年夜年夜快于ODBC.NET是在道理当中的。
总结
本文先容了两种MySQL数据库会见的办法,同时对它们的功能做了一个复杂的测试,但愿能为列位读者在接纳MySQL数据库开辟.NET使用的时分供应一个有代价的参考。
以前很热炒跨平台,主要是由于硅谷挑战微软霸主地位的热情,但是冷静下来后,跨平台往往不是那么一回事。假设你有个软件,所谓的跨平台,你只需要为第二个平台上重新编译一次就行了,这样很难么? |
|