在.NET中要访问MySql,我采用的是MySql官方提供的.NET connector,此驱动只需要下载即可使用:http://dev./downloads/connector/net/1.0.html
在使用中积累了几点经验: 1)使用Parameter参数形式提交Command时必须要把"@"号换成"?"号,这一点让我困惑了一天,只是不明白MySQL为何要搞特殊呢,象MS、ODP.NET for Oracle、OleDb等方式,都是用"@"号的。 例子如下: 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();
如果采用String类型的Parameter传递给MySql的DateTime字段会报:Unable to Convert MySql Date/Time value to System.DateTime 的错误。 |
|