读书人

关于SqlParameter的用法解决思路

发布时间: 2013-08-16 14:29:57 作者: rapoo

关于SqlParameter的用法


SqlParameter[] paramArray = new SqlParameter[1];
paramArray[0] = new SqlParameter("@baseName", baseName);
strCommandText = "use topfiveleaguedb delete from @baseName";
SqlHelper.ExecuteNonQuery(CommandType.Text, strCommandText, paramArray);


报错说必须声明变量@baseName,我想知道SqlParameter怎么声明库名的变量 SqlParameter 库名 sql
[解决办法]
strCommandText = "use topfiveleaguedb delete from " + baseName;
[解决办法]
引用:
Quote: 引用:

baseName是空?
不是,都是正常的数值,但是只要传库名就不行

看错了~当成传字段参数了。

把数据库表名做为@baseName,数据库会认为这是一个table类型的变量的。
[解决办法]
SqlParameter会自动帮你做一些处理,比如过滤一些非法字符什么的;
所以你直接传库名的话,SqlParameter就自动帮你处理成这样了:
use topfiveleaguedb delete from 'baseName' 这样就报错了

直接字符串拼接和用SqlParameter还是有区别的
[解决办法]
引用:
Quote: 引用:


strCommandText = "use topfiveleaguedb delete from @baseName";
SqlParameter[] paramArray = new SqlParameter[1];
paramArray[0] = new SqlParameter("@baseName", baseName);
SqlHelper.ExecuteNonQuery(CommandType.Text, strCommandText, paramArray);
感觉和我写的没什么区别啊


use topfiveleaguedb delete from baseName = @baseName
[解决办法]
不一定要用SqlParameter
strCommandText = string.Format("use topfiveleaguedb delete from {0}",baseName);
SqlHelper.ExecuteNonQuery(CommandType.Text, strCommandText,new SqlParameter[]{ });

读书人网 >asp.net

热点推荐