日期:2014-05-18  浏览次数:20447 次

请问这条语句哪里错了,为什么每次增加的不是 1 而是100 呢?
C# code

 nID=传递过来的ID号(这里没有错)
 string strSQL = "UPDATE News_Date SET Count=Count+1 WHERE ID="+nID;  //Count的字段类型是 int,默认值是 0
        strSQL += "SELECT [ID],[News_Title] FROM News_Date WHERE ID=" + nID;

//说明: 我是想实现新闻的浏览时记录被浏览的次数,Count=Count+1,但是为什么每次会增加 100 呢?
//请问这条语句哪里有错吗?



------解决方案--------------------
不可能吧.还有这种事发生的啊.你看看是不是int型啊.看准了再说
------解决方案--------------------
在存储过程里面实现这个功能,先取出count,加1后再存放到数据库。
------解决方案--------------------
没有错,看来你只好调试了!
你先select count from 出来,看看原值是否是原表里的值,而后再搞个变量放到你的
sql 里的
Count=Count+1
,看是否正常?只能靠你自己了.

------解决方案--------------------
string strSQL = "UPDATE News_Date SET Count=Count+1 WHERE ID="+nID; //Count的字段类型是 int,默认值是 0
strSQL += "SELECT [ID],[News_Title] FROM News_Date WHERE ID=" + nID;


Response.Write(strSQL);
Response.End();

将输出的strSQL拷贝下来到查询分析器下执行一下就知道了
------解决方案--------------------
string strSQL = "UPDATE News_Date SET Count=Count+1 WHERE ID="+nID; //Count的字段类型是 int,默认值是 0

这个我试过了,没有问题啊,是加1的.
------解决方案--------------------
不可能,肯定又是什么低级错误了
------解决方案--------------------
SQL语句,没问题的. 你仔细跟踪一下你的程序.估计是你程序里面哪里做了环循,你自己忘了吧!