.NET访问MySQL数据库的经验漫谈

此文章主要向大家描述的是在.NET访问MySQL数据库的实际操作过程中积累的经验漫谈, 我们是以例子的方式来引出本文的核心问题,以下就是文章的详细内容描述,望大家在浏览之后会有所收获。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、网页空间、营销软件、网站建设、泰来网站维护、网站推广。

在.NET中要访问MySQL数据库,我采用的是MySQL官方提供的.NET connector,此驱动只需要下载即可使用:http://dev.MySQL.com/downloads/connector/net/1.0.html

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

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

例子如下:

 
 
 
  1. string connstr=Setting.Instance().GetConnectionString("MySQL");  
  2. MySQLConnection conn =new MySQLConnection(connstr);  
  3. conn.Open();  
  4. string query = "insert into myfirst(Id,Name) values(?Id,?Name)";  
  5. MySQLCommand cmd = new MySQLCommand(query, conn);  
  6. MySQLParameter para1=new MySQLParameter("?Id",DbType.Int32);  

这里要注意必须要用?号

 
 
 
  1. MySQLParameter para2=new MySQLParameter("?Name",DbType.String); 

这里要注意必须要用?号

 
 
 
  1. para1.Value=5;  
  2. para2.Value="ddd";  
  3. cmd.Parameters.Add(para1);  
  4. cmd.Parameters.Add(para2);  
  5. cmd.ExecuteNonQuery(); 

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

3)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 的错误。

所有相关的MySQL数据库的问题可以去:http://forum.MySQL.com/ 论坛看看:)

标题名称:.NET访问MySQL数据库的经验漫谈
浏览地址:http://www.hantingmc.com/qtweb/news20/283320.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联