字符串相加后作为变量被sql引用的问题 5
stringa="人";stringb="员";stringc;c=a+b;stringchaxun001="update"+c+"setchange='ok'where...
string a = "人";
string b = "员";
string c ;
c = a+b;
string chaxun001 = "update "+ c+" set change = 'ok' where name = 'fit'";
SqlCommand cmd = new SqlCommand(chaxun001, conn);
MessageBox.Show(c);
cmd.ExecuteNonQuery();
消息框提示的是“人员”,但是update语句只执行了“人”,为什么,怎么解决? 展开
string b = "员";
string c ;
c = a+b;
string chaxun001 = "update "+ c+" set change = 'ok' where name = 'fit'";
SqlCommand cmd = new SqlCommand(chaxun001, conn);
MessageBox.Show(c);
cmd.ExecuteNonQuery();
消息框提示的是“人员”,但是update语句只执行了“人”,为什么,怎么解决? 展开
1个回答
展开全部
declare @chengji int,@sql varchar(800)
select @chengji=70
set @sql='select * from stu where 成绩='+@chengji
print @sql
但问题来了,总是提示:在将 varchar 值 'select * from stu where 成绩=' 转换成数据类型 int 时失败。
若改成:
declare @chengji varchar(800),@sql varchar(800)
select @chengji='a'
set @sql='select * from stu where 成绩='''+@chengji+''''
print @sql
select @chengji=70
set @sql='select * from stu where 成绩='+@chengji
print @sql
但问题来了,总是提示:在将 varchar 值 'select * from stu where 成绩=' 转换成数据类型 int 时失败。
若改成:
declare @chengji varchar(800),@sql varchar(800)
select @chengji='a'
set @sql='select * from stu where 成绩='''+@chengji+''''
print @sql
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询