您当前位置:优侠库 > 资讯攻略 >
来源:未知
2019-09-13 19:51:09 浏览: 分类:资讯攻略

如何在.NET中访问MySQL数据库

如果你不仅在大型集团公司工作过,你肯定会接触到mysql。虽然它不支持事务处理和存储过程,但是它提供的功能当然可以满足你的大部分需求。此外,简洁的MySQL还有一些独特的优势,在某些情况下,它的速度甚至超过了大型数据库。

那么如何访问MySQL数据库呢?网?可能很多人会说:用OLEDB,但其实MySQL是不能用访问的。NET OleDb数据提供程序。如果使用,会提示:“Net Data OLE DB provider (System .Data.Odbc)不支持MSDASQL提供程序(用于Odbc驱动程序的Microsoft OLE DB提供程序)。"我不知道为什么。根据MySQLDriverCS的作者所说,它“被主人抛弃了& quot呵呵,也许有些故事。

幸运的是,我们还有其他选择。这里有两种访问MySQL数据库的方法。

用ODBC.NET。

ODBC.NET(全称ODBC。NET数据提供者)是免费的。net框架插件,需要从微软的网站下载。它需要在系统上安装MDAC 2.7或更高版本。另外,还需要安装MySQL的ODBC驱动,还需要在“ODBC数据源管理器"配置DSN”中安装,如下图所示:

如何在.NET中访问MySQL数据库

关于对象的设计。NET和OLEDB,SQL等一样。,即ODBC连接、ODBC命令、ODBC DataAdapter和ODBC DataReader。用法完全一样。如果要用ODBC。NET而不是以前的OleDb。NET数据提供者,事实上,你可以通过寻找替代品来修改你的程序。

下面是一个代码示例:

以下是引用的内容:try
{
string constraint = " DSN = MySQL;"+& quot;UID =;"+& quot;PWD = & quot;;;
conn = newOdbcConnection(const);
conn . Open();
string query = & quot;insertintotest . dbtablevalues S10,' disksidkfsdi ',' asdfaf ',' adsfasdf ')& quot;;
string tmp = null;
odbccommandmd = newOdbcCommand(query,conn);
for(inti = 0;我& lt100000;i++)
{
cmd。ExecuteNonQuery();
}
cmd。dispose();
conn . Close();
query = & quot;select*fromtest.dbtable";
odbccommandmd 2 = newOdbcCommand(query,conn);
conn . Open();
OdbcDataReaderreader = cmd 2。ExecuteReader();
while(读者。read())
{
tmp = reader[0]。ToString();
tmp=reader[1]。ToString();
tmp=reader[2]。ToString();
tmp=reader[3]。ToString();
}
conn . Close();
query = & quot;deletefromtest.dbtable & quot;
odbccommandmd 3 = newOdbcCommand(query,conn);
conn . Open();
cmd3。ExecuteNonQuery();
}
catch(exception ex)
{
MessageBox。显示(例如。消息);
}
finally
{
conn . Close();
}

只要用C#写过数据库应用程序的人都可以知道,上面的代码执行了10万次插入和读取数据的操作,最后删除了所有的数据记录。

使用MySQLDriverCS

大部分人大概都不知道这个东西。MySQLDriverCS是一个免费的开源软件。MySQL数据库的NET驱动程序。比如Sql。NET Data Provider for sql server,它是专门为MySQL设计的,可以称为MySQL。NET数据提供程序。他不需要建立一个ODBC数据源来使用它。基本上只要他能连接MySQL,就可以通过MySQLDriverCS访问。
MyqlDrivers是SourceForge.NET上的一个项目,但是由于某些原因,这个网站在中国无法访问。

以下是使用MySQLDriverCS的代码示例:

以下是引用的内容:MySQLConnectionconn = null
try
{
string connstr = & quot;DataSource = MySQL密码= rootUserID = rootLocation =本地主机& quot;
conn = new MySQL connection(const);
conn . Open();
string query = & quot;insertintotest . dbtablevalues(10,' disksidkfsdi ',' asdfaf ',' adsfasdf ')& quot;;
string tmp = null;
mysqlcommandmd = new MySQL command(query,conn);
for(inti = 0;我& lt100000;i++)
{
cmd。ExecuteNonQuery();
}
cmd。dispose();
conn . Close();
query = & quot;select*fromtest.dbtable";
mysqlcommandmd 2 = new MySQL command(query,conn);
conn . Open();
MySQLDataReaderreader = cmd 2。executereadeex();
while(读者。read())
{
tmp = reader[0]。ToString();
tmp=reader[1]。ToString();
tmp=reader[2]。ToString();
tmp=reader[3]。ToString();
}
conn . Close();
query = & quot;deletefromtest.dbtable & quot;
MySQL command cmd 3 = new MySQL command(query,conn);
conn . Open();
cmd3。ExecuteNonQuery();
}
catch(exception ex)
{
MessageBox。显示(例如。消息);
}
finally
{
conn . Close();
}


和上面的那段代码几乎一模一样,所不同的是Odbc变成了MySQL,另外,需要注意的一点是Command的ExecuteReader方法在MySQLDriverCS中变成了ExecuteReaderEx,还有些细微的差别请参考附带的文档详细的介绍。

特性试验

有些读者其实已经看出了我上面写的代码的意图。对了,目的其实是为了进行性能测试。以上两个代码的执行时间,ODBC.NET大约24秒,MySQLDriverCS大约17秒。结果并不令人惊讶。作为MySQL的专用数据驱动,MySQLDriverCS比ODBC.NET快很多是有道理的。

摘要

本文介绍了访问MySQL数据库的两种方法,并对其性能进行了简单测试,希望能为读者在使用MySQL数据库进行开发时提供有价值的参考。NET应用程序。

关键词:数据库、access、如何、我的

优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。

本文链接:http://www.123down.cn/gonglue/227256.html

攻略资讯
安卓软件
安卓游戏