.NET访问MySQL数据库经验总结
[来源] 达内 [编辑] 达内 [时间]2013-02-25
(.NET培训 )中访问MySQL(MySQL认证 Mysql培训 ),很多人采用的是MySQL数据库(数据库培训 数据库认证 ) connector,对其当然你也可以在相关的网站找到自己用得比较顺手的,访问MySQL数据库经验。
在使用中积累了几点经验:
1).NET访问MySQL数据库经验:使用Parameter参数形式提交Command时必须要把"@"号换成"?"号,这一点让我困惑了一天,只是不明白MySQL为何要搞特殊呢,象MS、 for Oracle、OleDb等方式,都
用"@"号的。
例子如下:
string connstr=Setting.Instance().GetConnectionString("MySQL"); MySQLConnection conn =new MySQLConnection(connstr); (); string query = "insert into myfirst(Id,Name) values(?Id,?Name)"; MySQLCommand cmd = new MySQLCommand(query, conn); MySQLParameter para1=new MySQLParameter("?Id",DbType.Int32);
这里要注意必须要用?号
MySQLParameter para2=new MySQLParameter("?Name",DbType.String);
这里要注意必须要用?号
para1.Value=5; para2.Value="ddd"; cmd.Parameters.Add(para1); cmd.Parameters.Add(para2); cmd.ExecuteNonQuery();
2).NET访问MySQL数据库经验:在MySQL中也有保留字,为了提供兼容,我必须要找到定界符,好不容易在MySQL的论坛里找到了,使用的定界符是`,这个符号不是单引号,而是键盘上数字1前面的那个“点”,真是害死我啊。
3).NET访问MySQL数据库经验:MySQL中的TOP功能倒是非常简单,只需要语句后面使用“limit n”就行了,这比ORACLE的那Rownum方便多了。
使用MySQL Connector访问MySQL总体来说还算不错的,中的IConnection、ICommand的。
PS:有个不明白就是 Connector中提供一个MySQLDateTime类,不知道这个类具体有什么用,怎么用,在国内没有找到相关的资料。MySQLDateTime 还不兼容,在MySQL论坛上相关帖子N多。
如果采用String类型的Parameter传递给MySQL的DateTime字段会报:Unable to Convert MySQL Date/Time value to System.DateTime 的错误。