SQL更新语句执行不成功

伤心的瘦子 2014-08-07 04:15:49
如题:
  public void update_detail(string appromoney, string indiobjid)
{
string sql1 = string.Format("UPDATE Indi_t_IndiBillDetail SET PlanMoney = " + appromoney + " WHERE (IndiObjID = '" + indiobjid + "')");
SqlCommand command = new SqlCommand(sql1, dbhelper.conn);
command.Connection.Open();
int scount = Convert.ToInt32(command.ExecuteNonQuery());
command.Connection.Close();
}


这是一条更新语句,把SQL语句单拿出来在数据库中是可以正常执行的,而且这段代码在程序中也是可以正常运行的,只是添加不进去。

...全文
925 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
估计不是sql问题 是你代码根本就没执行 把每个变量都输出下 每一行做个断点就知道了
BrightFireOfCy 2014-08-08
  • 打赏
  • 举报
回复
你AUTO COMMIT关掉了吧

public void update_detail(string appromoney, string indiobjid)
        {
SqlTransaction tx =  dbhelper.conn.SqlConnection.BeginTransaction();
            string sql1 = string.Format("UPDATE Indi_t_IndiBillDetail SET PlanMoney = " + appromoney + " WHERE (IndiObjID = '" + indiobjid + "')");
            SqlCommand command = new SqlCommand(sql1, dbhelper.conn);
            command.Connection.Open();
            int scount = Convert.ToInt32(command.ExecuteNonQuery());
tx.commit();
            command.Connection.Close();
        }
加的两行代码前提是sql server数据库,如果lz用得不是sql server,请根据dbhelper.conn的类型自己判断。
伤心的瘦子 2014-08-08
  • 打赏
  • 举报
回复
引用 13 楼 zhi_ai_yaya 的回复:
[quote=引用 7 楼 smthgdin 的回复:] 设置断点,将sql拷贝到数据库里执行。
同意。 设断点,就能看到最终生成的sql语句是怎样的,可以放到数据库中执行,再查看对比表格的变化。 代码中若执行成功的话,count(受影响的行数)不可能是0的。[/quote] 就是设置断点,取出来的sql语句执行成功。
伤心的瘦子 2014-08-08
  • 打赏
  • 举报
回复
引用 14 楼 Z65443344 的回复:
把SQL语句单拿出来在数据库中是可以正常执行的 -> 你是如何单拿出来的,是像前面几楼所说的,直接断点跟,然后复制出来的吗? 不要用手敲的SQL去测试,你手敲的是对的,程序拼接的时候有可能就错了.
sql就是打了断点取出来的。
於黾 2014-08-08
  • 打赏
  • 举报
回复
把SQL语句单拿出来在数据库中是可以正常执行的 -> 你是如何单拿出来的,是像前面几楼所说的,直接断点跟,然后复制出来的吗? 不要用手敲的SQL去测试,你手敲的是对的,程序拼接的时候有可能就错了.
我叫小菜菜 2014-08-07
  • 打赏
  • 举报
回复
引用 7 楼 smthgdin 的回复:
设置断点,将sql拷贝到数据库里执行。
同意。 设断点,就能看到最终生成的sql语句是怎样的,可以放到数据库中执行,再查看对比表格的变化。 代码中若执行成功的话,count(受影响的行数)不可能是0的。
Mo_DeNo 2014-08-07
  • 打赏
  • 举报
回复
断点跟踪下看sql1实例化后的值是什么,再复制进sql运行下看看
nishuine332 2014-08-07
  • 打赏
  • 举报
回复
在数据库中检查一下indiobjid数据是否存在,或者indiobjid本身是空?
冷雪液 2014-08-07
  • 打赏
  • 举报
回复
设置断点,将sql语句复制出来在SqlServer中运行下,看哪里有问题
伤心的瘦子 2014-08-07
  • 打赏
  • 举报
回复
引用 3 楼 Z65443344 的回复:
执行完,没报任何错误,只是scount=0?
是0
熙风 2014-08-07
  • 打赏
  • 举报
回复
数据库有这个id 是等于indiobjid  么
smthgdin_020 2014-08-07
  • 打赏
  • 举报
回复
设置断点,将sql拷贝到数据库里执行。
暗尘掩月 2014-08-07
  • 打赏
  • 举报
回复
IndiObjID 数据库是 varchar 类型?
effun 2014-08-07
  • 打赏
  • 举报
回复
跟踪一下sql1的值是什么
mlqxj35674 2014-08-07
  • 打赏
  • 举报
回复
把最终的sql1显示一下,看正确否,或者你的wher子句条件不成立,故未执行。
於黾 2014-08-07
  • 打赏
  • 举报
回复
执行完,没报任何错误,只是scount=0?
伤心的瘦子 2014-08-07
  • 打赏
  • 举报
回复
引用 1 楼 andywangguanxi 的回复:
update语句是修改,怎么会添加呢?添加用Insert into
不好意思,说错了。
EdsionWang 2014-08-07
  • 打赏
  • 举报
回复
update语句是修改,怎么会添加呢?添加用Insert into

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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