标题
[c#]mysql 与 sql server/mssql 的不同参数传递方式
clq
浏览(0) +
2010-11-15 10:59:18 发表
编辑
关键字:
http://www.cnblogs.com/zpino/archive/2009/04/06/1430105.html
clq
2010-11-15 11:00:30 发表
编辑
public void AddPara(string name, string value)
{
//SqlParameter param = new SqlParameter("id", SqlDbType.Int);
//MySqlParameter param = new MySqlParameter();
// name 转换成 "?ConfigID" 的形式,以便与 sql server 等通用
//MySqlParameter param = new MySqlParameter("?"+name, SqlDbType.VarChar);
MySqlParameter param = new MySqlParameter("?" + name, MySqlDbType.VarChar);// MySqlDbType 与 SqlDbType 搞错了的话是不行的
param.Value = value;
//param.ParameterName = "?ConfigID";
//param.Value = "aaa";
//cmd.Parameters.Add(param);
paras.Add(param);
}
--------------------------------------------------
"
在.net中操作数据库的时候。
大家都喜欢用sqlparameter。
parameter是预编译的,可以加快速度,也可以防注入。
在使用mssql的时候用sqlparameter。
在使用mysql的时候使用mysqlparameters。
第一次使用mysql的时候,都经常犯一个错误
比如在使用mssql的时候,一条查询这么写

Code
select name,id from user where id=@id
在使用mysql的时候,查询语句就必须这样

Code
select name,id from user where id=?id
@变成了?
同样,在什么parameter的时候
mssql是这样

Code
SqlParameter param = new SqlParameter("id", SqlDbType.Int);
mysql便是这样

Code
MySqlParameter param = new MySqlParameter("?cid", MySqlDbType.Int32);
还有在指定参数类型的时候
MySqlDbType中是没有nchar的。。。
当然Access中也是不同的,不外乎就是符号的差异,其余差别不大。
以上是我的一点总结。个人经验,分享给大家。
"
NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.