关于SqlParameter的用法,该怎么处理
关于SqlParameter的用法
报错说必须声明变量@baseName,我想知道SqlParameter怎么声明库名的变量
------解决方案--------------------
strCommandText = "use topfiveleaguedb delete from " + baseName;
------解决方案--------------------
看错了~当成传字段参数了。
把数据库表名做为@baseName,数据库会认为这是一个table类型的变量的。
------解决方案--------------------
SqlParameter会自动帮你做一些处理,比如过滤一些非法字符什么的;
所以你直接传库名的话,SqlParameter就自动帮你处理成这样了:
use topfiveleaguedb delete from 'baseName' 这样就报错了
直接字符串拼接和用SqlParameter还是有区别的
------解决方案--------------------
use topfiveleaguedb delete from baseName = @baseName
------解决方案--------------------
不一定要用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怎么声明库名的变量
------解决方案--------------------
strCommandText = "use topfiveleaguedb delete from " + baseName;
------解决方案--------------------
看错了~当成传字段参数了。
把数据库表名做为@baseName,数据库会认为这是一个table类型的变量的。
------解决方案--------------------
SqlParameter会自动帮你做一些处理,比如过滤一些非法字符什么的;
所以你直接传库名的话,SqlParameter就自动帮你处理成这样了:
use topfiveleaguedb delete from 'baseName' 这样就报错了
直接字符串拼接和用SqlParameter还是有区别的
------解决方案--------------------
感觉和我写的没什么区别啊
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[]{ });