.Net中访问MySql数据库中要注意的几点
2010-06-09 08:59
281 查看
在使用中积累了几点经验:
1)使用Parameter参数形式提交Command时必须要把"@"号换成"?"号,这一点让我困惑了一天,只是不明白MySQL为何要搞特殊呢,象MS、ODP.NET for Oracle、OleDb等方式,都是用"@"号的。MySql这点真叫我恶心,没有一点错就是执行结果不对,叫我恶心透了。
例子如下:
string connstr=Setting.Instance().GetConnectionString("MySql");
MySqlConnection conn =new MySqlConnection(connstr);
conn.Open();
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)在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 的错误。
1)使用Parameter参数形式提交Command时必须要把"@"号换成"?"号,这一点让我困惑了一天,只是不明白MySQL为何要搞特殊呢,象MS、ODP.NET for Oracle、OleDb等方式,都是用"@"号的。MySql这点真叫我恶心,没有一点错就是执行结果不对,叫我恶心透了。
例子如下:
string connstr=Setting.Instance().GetConnectionString("MySql");
MySqlConnection conn =new MySqlConnection(connstr);
conn.Open();
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)在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 的错误。
相关文章推荐
- 在.NET访问MySql数据库时的几点经验!
- 在.NET访问MySql数据库时的几点经验!
- [导入]在.NET访问MySql数据库时的几点经验!
- 在.NET访问MySql数据库时的几点经验(转)
- 在.NET访问MySql数据库时的几点经验!
- (转)在.NET访问MySql数据库时的几点经验MySqlParameter
- .net下访问Access数据库需要注意的问题
- 技巧实例:如何在.NET中访问MySQL数据库
- 关于Aspose.NET使用的几点注意事项
- 如何在.NET中访问MySQL数据库
- 如何在.Net中访问MySQL数据库
- 如何在.NET中访问MySQL数据库
- arcgis发布网站,用户访问时看不见地图,应注意的几点
- .net 2.0 访问Oracle --与Sql Server的差异,注意事项,常见异常
- 【.net 深呼吸】连接Access数据库应注意的几点
- 利用MySQLDriverCS实现在.NET环境下访问MySQL数据库
- libcurl模拟http访问的几点注意事项
- .net 2.0 访问Oracle --与Sql Server的差异,注意事项,常见异常
- 如何在.NET中访问MySQL数据库 (转自:http://blog.csdn.net/vstart/archive/2006/06.aspx)
- 如何在.NET中访问MySQL数据库