首頁  >  文章  >  資料庫  >  在.NET访问MySQL数据库经验总结

在.NET访问MySQL数据库经验总结

WBOY
WBOY原創
2016-06-07 16:14:131058瀏覽

在.NET中访问MySQL,很多人采用的是MySQL数据库官方所提供的.NET connector,对其当然你也可以在相关的网站找到自己用得比较顺手的,以下的文章主要讲述的是.NET访问MySQL数据库经验。 在使用中积累了几点经验: 1).NET访问MySQL数据库经验:使用Parameter参

在.NET中访问MySQL,很多人采用的是MySQL数据库官方所提供的.NET connector,对其当然你也可以在相关的网站找到自己用得比较顺手的,以下的文章主要讲述的是.NET访问MySQL数据库经验。

在使用中积累了几点经验:

1).NET访问MySQL数据库经验:使用Parameter参数形式提交Command时必须要把"@"号换成"?"号,这一点让我困惑了一天,只是不明白MySQL为何要搞特殊呢,象MS、ODP.NET for Oracle、OleDb等方式,都

用"@"号的。

例子如下:

<ol class="dp-xml">
<li class="alt">string connstr=<span class="attribute-value">Setting</span>.Instance().GetConnectionString("MySQL");  </li>
<li>MySQL<span>Connection </span><span class="attribute">conn</span><span> =</span><span class="attribute-value">new</span><span> </span>MySQL<span>Connection(connstr);  </span>
</li>
<li class="alt"><span>conn.Open();  </span></li>
<li>
<span>string </span><span class="attribute">query</span><span> = </span><span class="attribute-value">"insert into myfirst(Id,Name) values(?Id,?Name)"</span><span>;  </span>
</li>
<li class="alt">MySQL<span>Command </span><span class="attribute">cmd</span><span> = </span><span class="attribute-value">new</span><span> </span>MySQL<span>Command(query, conn);  </span>
</li>
<li>MySQL<span>Parameter </span><span class="attribute">para1</span><span>=</span><span class="attribute-value">new</span><span> </span>MySQL<span>Parameter("?Id",DbType.Int32); </span>
</li>
</ol>

这里要注意必须要用?号

<ol class="dp-xml"><li class="alt">MySQL<span>Parameter </span><span class="attribute">para2</span><span>=</span><span>new </span>MySQL<span>Parameter("?Name",DbType.String); </span>
</li></ol>

这里要注意必须要用?号

<ol class="dp-xml">
<li class="alt"><span><span class="attribute">para1.Value</span><span>=</span><span class="attribute-value">5</span><span>;  </span></span></li>
<li>
<span class="attribute">para2.Value</span><span>=</span><span class="attribute-value">"ddd"</span><span>;  </span>
</li>
<li class="alt"><span>cmd.Parameters.Add(para1);  </span></li>
<li><span>cmd.Parameters.Add(para2);  </span></li>
<li class="alt"><span>cmd.ExecuteNonQuery(); </span></li>
</ol>

2).NET访问MySQL数据库经验:在MySQL中也有保留字,为了提供兼容,我必须要找到定界符,好不容易在MySQL的论坛里找到了,使用的定界符是`,这个符号不是单引号,而是键盘上数字1前面的那个“点”,真是害死我啊。

3).NET访问MySQL数据库经验:MySQL中的TOP功能倒是非常简单,只需要语句后面使用“limit n”就行了,这比ORACLE的那Rownum方便多了。

使用MySQL 的.NET Connector访问MySQL总体来说还算不错的,大部分是兼容.NET中的IConnection、ICommand的。

PS:有个不明白就是在.NET Connector中提供一个MySQLDateTime类,不知道这个类具体有什么用,怎么用,在国内没有找到相关的资料。MySQLDateTime跟System.Date还不兼容,在MySQL论坛上相关帖子N多。

如果采用String类型的Parameter传递给MySQL的DateTime字段会报:Unable to Convert MySQL Date/Time value to System.DateTime 的错误。


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn