A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴瑞祥 中级黑马   /  2012-11-15 18:02  /  1822 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 wrx362114 于 2012-11-15 18:41 编辑

using(sqlconnection conn = new sqlconnection())
{
conn.connectionstring=@'连接字符串';
conn.open();
using (sqlcommand cmd = conn.createcommand())
{
string ab="table2";
cmd.commandtext="select count(*) from @A";
cmd.parameters.add(new sqlparameter("A",ab));
console.writeline(cmd.parameters.count);//这里可以看到有1个变量,如果把上句注释就只有0个变量
console.writeline(convert.toint32(cmd.executescalar()));//报错,必须声明变量A,这个是怎么回事
}
}

10 个回复

倒序浏览
你那个com哪来的、?
回复 使用道具 举报
李栋Jelly 发表于 2012-11-15 18:22
你那个com哪来的、?

打错了,就是那个CMD
回复 使用道具 举报
将com.parameters.add(new sqlparameter("A",ab));改为com.parameters.add(new sqlparameter("@A",ab));
回复 使用道具 举报
陈辉 发表于 2012-11-15 18:42
将com.parameters.add(new sqlparameter("A",ab));改为com.parameters.add(new sqlparameter("@A",ab));

一样,提示异常,必须声明表变量@A
回复 使用道具 举报
这个,你直接写表名不就行了,  在限制条件里边用@替换字段名,应该就OK了。
回复 使用道具 举报
陈辉 中级黑马 2012-11-15 18:59:17
7#
select count(*) from @A
在这条SQL语句中@A换成一张表的表名看看
回复 使用道具 举报
陈辉 发表于 2012-11-15 18:59
select count(*) from @A
在这条SQL语句中@A换成一张表的表名看看

换成表名没有问题
回复 使用道具 举报
陈辉 中级黑马 2012-11-15 20:15:24
9#
那就是说没有问题了
回复 使用道具 举报
李栋Jelly 发表于 2012-11-15 18:56
这个,你直接写表名不就行了,  在限制条件里边用@替换字段名,应该就OK了。 ...

我以为这个是类似变量的用法,不管什么都可以用变量替换
回复 使用道具 举报
表名是不能用参数来代替的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马