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

ExecuteNonQuery()???
一个update语句   跟踪发现语句是正确的
update   [Consultation]   set   C_Name= '梵蒂冈 ',C_Sex= '女 ',C_Time= '2001-01-01 ',C_Subjects= 'CCNA|CCNP|MCSE ',C_Development= 'CCNP|MCSE|CIW ',C_Classes= '双休|晚班 ',C_TEL= '13191824511 ',C_Email= 'fdg@df.dsf ',C_PromisesTime= '2001-01-01 ',C_ComeTime= '2001-01-01 ',C_TrackTime= '2001-01-01 ',C_ElseInfo= 'dfsdf ',C_Method= '上门咨询 ',C_Question= '梵蒂冈梵蒂冈梵蒂冈 ',C_Summarize= '梵蒂冈梵蒂冈梵蒂冈 ',C_Manager= '张梵蒂冈 '   where   C_ID=7
--------------------------
但是ExecuteNonQuery()成功执行後数据却不更改。。数据库这段可以正常执行~~~

------解决方案--------------------
你放查询分析器里跑下上面的SQL语句看看有效果没?
------解决方案--------------------
直接在查询分析器里执行一下
然后ExecuteNonQuery() 加上Try 看看是否有异常
------解决方案--------------------
如果分析器能跑上面的SQL语句,那肯定是ExecuteNonQuery的问题,看有没有影响的行数.
------解决方案--------------------
你可以测一下 ExecuteNonQuery 返回的值是不是> -1
------解决方案--------------------
你可以这样写更新数据库批命令:

string SQL=@ "
update [Consultation] set C_Name= '梵蒂冈 ',C_Sex= '女 ',
C_Time= '2001-01-01 ',C_Subjects= 'CCNA|CCNP|MCSE ',C_Development= 'CCNP|MCSE|CIW ',
C_Classes= '双休|晚班 ',C_TEL= '13191824511 ',C_Email= 'fdg@df.dsf ',
C_PromisesTime= '2001-01-01 ',C_ComeTime= '2001-01-01 ',
C_TrackTime= '2001-01-01 ',C_ElseInfo= 'dfsdf ',C_Method= '上门咨询 ',
C_Question= '梵蒂冈梵蒂冈梵蒂冈 ',C_Summarize= '梵蒂冈梵蒂冈梵蒂冈 ',
C_Manager= '张梵蒂冈 ' where C_ID
if @@rowcount=0 raiserror( '没有数据记录可以更新。 ',16,1) ";

执行SQL。