sql语句无法执行

ooiikaka1 2011-12-27 12:13:30
string sql = "update userslabel set state="+"'"+state+"'"+" where username=" +"'" +username+"'";
就是这个sql语句在程序调用后也没有错 但是数据库没有变化
...全文
185 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
a47556122 2012-03-19
  • 打赏
  • 举报
回复
state username 应该是声明变量格式有问题
super_loverax 2012-03-18
  • 打赏
  • 举报
回复
你的Sql语句确实写得很冗余,但是sql语句本身没有任何问题,可能是你的前台传过来的数据因为缓存或者其他的原因没有更新过来。再检查一下吧!
ooiikaka1 2012-03-17
  • 打赏
  • 举报
回复
谢谢各位啦
mycodeis0000 2011-12-29
  • 打赏
  • 举报
回复


string sql = "update userslabel set state="+"'"+state+"'"+" where username=" +"'" +username+"'";


--大锅

--请问你这个state username 是不是变量啊

--如果是变量请去掉 '
string sql = "update userslabel set state=" + state + " where username=" + username;

程序中建议写成
string sql = "update userslabel set state=" & state & " where username=" & username;
mycodeis0000 2011-12-29
  • 打赏
  • 举报
回复

string sql = "update userslabel set state="+"'"+state+"'"+" where username=" +"'" +username+"'";


大锅

请问你这个state username 是不是变量啊

如果是变量请去掉 '
string sql = "update userslabel set state=" + state + " where username=" + username;

程序中建议写成
string sql = "update userslabel set state=" & state & " where username=" & username;
mycodeis0000 2011-12-29
  • 打赏
  • 举报
回复
string sql = "update userslabel set state="+"'"+state+"'"+" where username=" +"'" +username+"'";


大锅

请问你这个state username 是不是变量啊

如果是变量请去掉 '
string sql = "update userslabel set state=" + state + " where username=" + username;

程序中建议写成
string sql = "update userslabel set state=" & state & " where username=" & username;
苦苦的潜行者 2011-12-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qianjin036a 的回复:]

楼下请勿复制!
[/Quote]

我不复制,我只引用...
pengxuan 2011-12-27
  • 打赏
  • 举报
回复
string sql = "update userslabel set state="+"'"+state+"'"+" where username=" +"'" +username+"'";

用select * from userslabel where username='你的变量值' 查一下看有没有数据
-晴天 2011-12-27
  • 打赏
  • 举报
回复
楼下请勿复制!
-晴天 2011-12-27
  • 打赏
  • 举报
回复
这句本身就没让数据变什么,而且写得很多余.
string sql = "update userslabel set state="+"'"+state+"'"+" where username=" +"'" +username+"'"
直接:
string sql = "update userslabel set state='"+state+"' where username='" +username+"'"
这个效果果应该与上面完全一样吧.
如果你是想在state 内容中加一对单引号,则:

string sql = "update userslabel set state=''"+state+"'' where username='" +username+"'"
MKing0412 2011-12-27
  • 打赏
  • 举报
回复
use “你的database”
也加上


eg


use test
update table1
set id='3'
where name='a'
叶子 2011-12-27
  • 打赏
  • 举报
回复
断点调试一下,把sql字符串的结果放到查询分析器中执行一下试试..
  • 打赏
  • 举报
回复
你确定调用的时候后面写法正确??
Felixzhaowenzhong 2011-12-27
  • 打赏
  • 举报
回复
试一下这个 string sql = "update userslabel set state="'"+state+"'" where username="'" +username+"'";
Felixzhaowenzhong 2011-12-27
  • 打赏
  • 举报
回复
profiler里截取一下,看是否接收的参数值存在。profiler可以截取到你最终完整想要的SQL
烟波钓 2011-12-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ooiikaka1 的回复:]
查询分析器里执行是完全可以的,放在程序里就不行,谢谢3楼的指点,有时候写的代码就是比较累赘
[/Quote]你跟踪一下 在你程序跑完给sql语句赋值那一句 跟一下你的这个变量sql的值到底是啥了,直接把这个东西放到查询分析器中执行一下 或许就找到问题了


Sql语句中的单引号保证是英语状态下的半角符号 这点容易忽略
ooiikaka1 2011-12-27
  • 打赏
  • 举报
回复
查询分析器里执行是完全可以的,放在程序里就不行,谢谢3楼的指点,有时候写的代码就是比较累赘
--小F-- 2011-12-27
  • 打赏
  • 举报
回复
直接拿到SSMS中执行看有没有变化?
九度空间 2011-12-27
  • 打赏
  • 举报
回复
先把语句放在查询分析器中测试一下
ly576107712 2011-12-27
  • 打赏
  • 举报
回复
string sql=string.Formart("update userslabel set state='{0}' where username='{1}'
",state,username);
赋值后看看完整的sql语句的类型是否错误
加载更多回复(1)

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧