Heim  >  Artikel  >  Datenbank  >  在.NET环境下正确的访问MySQL数据库操作流程

在.NET环境下正确的访问MySQL数据库操作流程

WBOY
WBOYOriginal
2016-06-07 16:11:35847Durchsuche

以下的文章主要介绍的是如何在.NET环境下正确的访问MySQL数据库,如果你对MySQL(和PHP搭配之最佳组合)有所了解的话,你就会知道它对事务处理是不支持的,存储过程,但是它提供的功能一定能满足你的大部分需求。 另外,简洁的MySQL(和PHP搭配之最佳组合)也有

以下的文章主要介绍的是如何在.NET环境下正确的访问MySQL数据库,如果你对MySQL(和PHP搭配之最佳组合)有所了解的话,你就会知道它对事务处理是不支持的,存储过程,但是它提供的功能一定能满足你的大部分需求。

另外,简洁的MySQL(和PHP搭配之最佳组合)也有一些它独到的优势,在有些时候,它的速度甚至超过大型数据库。

那么如何在.NET中访问MySQL(和PHP搭配之最佳组合)数据库呢?

也许很多人马上会说:

用OLEDB嘛,但是事实上采用.NET OleDb Data Provider并不能访问MySQL(和PHP搭配之最佳组合),如果你使用的话,系统会提示你:“Net Data OLE DB 提供程序 (System.Data.Odbc) 不支持 MSDASQL 提供程序(用于 Odbc 驱动程序的 Microsoft OLE DB 提供程序)。”,是什么原因我并不知道,按照MySQL(和PHP搭配之最佳组合)DriverCS的作者的说法就是它被“abandoned by the owner”,呵呵,兴许还有些故事。

幸好,我们还有其它的选择,这里就要介绍两种访问MySQL(和PHP搭配之最佳组合)数据库的办法。

使用ODBC.NET

ODBC.NET(全称ODBC .NET Data Provider)是一个免费的.NET Framework附加组件,需要到微软公司的网站上去下载,它需要系统已经安装MDAC 2.7或者更高版本。另外,还需要安装MySQL(和PHP搭配之最佳组合)的ODBC驱动程序,下载地址为:http://www.MySQL(和PHP搭配之最佳组合).com/downloads/api-myodbc-2.50.html,还需要在"ODBC数据源管理器"中配置一下DSN,

(和PHP搭配之最佳组合)数据库" width="450" height="369" />

在对象的设计上,ODBC.NET也跟OLEDB,SQL等一样,分别为OdbcConnection, OdbcCommand, OdbcDataAdapter,OdbcDataReader,用法也完全一样,如果你希望用ODBC .NET来代替以前的OleDb .NET Data Provider,事实上完全可以通过查找替换的办法来修改你的程序。

以下是一段代码示例:

<ol class="dp-xml"><li class="alt"><span><span>try{string </span><span class="attribute">constr</span><span> = </span><span class="attribute-value">"DSN=MySQL(和PHP搭配之最佳组合);<br>"</span><span> + "</span><span class="attribute">UID</span><span>=;" +"</span><span class="attribute">PWD</span><span>="; ;conn = new OdbcConnection(constr);<br>conn.Open();string query = "</span><span class="attribute-value">insert</span><span> into test.dbtable values10,<br>'disksidkfsdi', 'asdfaf', 'adsfasdf')";string </span><span class="attribute">tmp</span><span> = </span><span class="attribute-value">null</span><span>;<br>OdbcCommand </span><span class="attribute">cmd</span><span> = </span><span class="attribute-value">new</span><span> OdbcCommand(query, conn);for(int </span><span class="attribute">i</span><span> = </span><span class="attribute-value">0</span><span>; <br>i </span><span class="tag"><span> </span><span class="tag-name">100000</span><span>; i++){cmd.ExecuteNonQuery();}cmd.Dispose();conn.Close();<br></span><span class="attribute">query</span><span> = </span><span class="attribute-value">"select * from test.dbtable"</span><span>;OdbcCommand </span><span class="attribute">cmd2</span><span> = <br></span><span class="attribute-value">newOdbcCommand</span><span>(query, conn);conn.Open();OdbcDataReader </span><span class="attribute">reader</span><span> = </span><span class="attribute-value">cmd2</span><span>.ExecuteReader();<br>while(reader.Read()){</span><span class="attribute">tmp</span><span> = </span><span class="attribute-value">reader</span><span>[0].ToString();</span><span class="attribute">tmp</span><span> = </span><span class="attribute-value">reader</span><span>[1].ToString();</span><span class="attribute">tmp</span><span> = </span><span class="attribute-value">reader</span><span>[2].ToString();<br></span><span class="attribute">tmp</span><span> = </span><span class="attribute-value">reader</span><span>[3].ToString();}conn.Close();</span><span class="attribute">query</span><span> = </span><span class="attribute-value">"delete from test.dbtable"</span><span>;<br>OdbcCommand </span><span class="attribute">cmd3</span><span> = </span><span class="attribute-value">newOdbcCommand</span><span>(query, conn);conn.Open();<br>cmd3.ExecuteNonQuery();}catch(Exception ex){MessageBox.Show(ex.Message);}finally{conn.Close(); }  </span></span></span></li></ol>

只要是用C#写过数据库应用的人一定能知道,上面的代码执行了十万次插入数据和读取数据,最后将数据记录全部删除的操作。

以上的相关内容就是对在.NET环境下访问MySQL数据库的介绍,望你能有所收获。
 


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn