string sql = "UPDATE [dbo].[C_Work_Object]  Set " +
           " [Obj_name]='" + _name +
           "',[Obj_tid]='" + _tid +
           "',[Obj_sex]='" + _sex +
           "',[Obj_idcard]='" + _idcard +
           "',[Obj_xueli]='" + _xueli +
           "',[Obj_birthday]='" + _birthday +
           "',[Obj_address]='" + _address +
           "',[Obj_biradd]='" + _biraddr +
           "',[Obj_domethod]='" + _domethod +
           "',[Obj_caseid]='" + _caseid +
           "',[Obj_casetype]='" + _casetype +
           "',[Obj_casecode]='" + _casecode +
           "',[Obj_dostep]='" + _dostep +
           "',[Obj_dotime]='" + _dotime +
           "',[Obj_finaltime]='" + _finaltime +
           "',[Obj_memo]='" + _memo +
           "',[Obj_doperson]='" + _doperson +
           "',[Obj_qianke]='" + _Qianke +
           "',[Obj_job]='" + _job +
           "',[Obj_doteam]='" + _doteam +
           "',[Obj_optime]='" +
           "getdate() where Obj_id=" +
           "'" + _tid + "'";
        this.dbProcessor.ExecuteSql(sql);
还是报错啊,第一行附近语法错误:在sql查询器中显示的是UPDATE [dbo].[C_Work_Object] Set [Obj_name]='',[Obj_tid]='0',[Obj_sex]='0',[Obj_idcard]='',[Obj_xueli]='0',[Obj_birthday]='0001-1-1 0:00:00',[Obj_address]='',[Obj_biradd]='',[Obj_domethod]='',[Obj_caseid]='',[Obj_casetype]='',[Obj_casecode]='',[Obj_dostep]='0',[Obj_dotime]='0001-1-1 0:00:00',[Obj_finaltime]='0001-1-1 0:00:00',[Obj_memo]='',[Obj_doperson]='',[Obj_qianke]='0',[Obj_job]='',[Obj_doteam]='',[Obj_optime]='getdate() where Obj_id='0'小弟不才,没有找出错误在哪里??哪位大狭帮忙指点一下啊??谢谢~~~

解决方案 »

  1.   

    UPDATE [dbo].[C_Work_Object] Set [Obj_name]='',[Obj_tid]='0',[Obj_sex]='0',[Obj_idcard]='',[Obj_xueli]='0',[Obj_birthday]='0001-1-1 0:00:00',[Obj_address]='',[Obj_biradd]='',[Obj_domethod]='',[Obj_caseid]='',[Obj_casetype]='',[Obj_casecode]='',[Obj_dostep]='0',[Obj_dotime]='0001-1-1 0:00:00',[Obj_finaltime]='0001-1-1 0:00:00',[Obj_memo]='',[Obj_doperson]='',[Obj_qianke]='0',[Obj_job]='',[Obj_doteam]='',[Obj_optime]='getdate() where Obj_id='0' 
      

  2.   

    ,[Obj_optime]='getdate() where Obj_id='0' 
    应该是
    ,[Obj_optime]=getdate() where Obj_id='0' 
      

  3.   

    UPDATE [dbo].[C_Work_Object] Set [Obj_name]='',[Obj_tid]='0',[Obj_sex]='0',[Obj_idcard]='',[Obj_xueli]='0',[Obj_birthday]='0001-1-1 0:00:00',[Obj_address]='',[Obj_biradd]='',[Obj_domethod]='',[Obj_caseid]='',[Obj_casetype]='',[Obj_casecode]='',[Obj_dostep]='0',[Obj_dotime]='0001-1-1 0:00:00',[Obj_finaltime]='0001-1-1 0:00:00',[Obj_memo]='',[Obj_doperson]='',[Obj_qianke]='0',[Obj_job]='',[Obj_doteam]='',[Obj_optime]='getdate() where Obj_id='0' getdate这里就有一个错误
      

  4.   

    [Obj_optime]='" + 
    多了个'
      

  5.   

    [Obj_optime]='getdate() 这里多了个'号
      

  6.   

    string sql = "UPDATE [dbo].[C_Work_Object]  Set " + 
              " [Obj_name]='" + _name + 
              "',[Obj_tid]='" + _tid + 
              "',[Obj_sex]='" + _sex + 
              "',[Obj_idcard]='" + _idcard + 
              "',[Obj_xueli]='" + _xueli + 
              "',[Obj_birthday]='" + _birthday + 
              "',[Obj_address]='" + _address + 
              "',[Obj_biradd]='" + _biraddr + 
              "',[Obj_domethod]='" + _domethod + 
              "',[Obj_caseid]='" + _caseid + 
              "',[Obj_casetype]='" + _casetype + 
              "',[Obj_casecode]='" + _casecode + 
              "',[Obj_dostep]='" + _dostep + 
              "',[Obj_dotime]='" + _dotime + 
              "',[Obj_finaltime]='" + _finaltime + 
              "',[Obj_memo]='" + _memo + 
              "',[Obj_doperson]='" + _doperson + 
              "',[Obj_qianke]='" + _Qianke + 
              "',[Obj_job]='" + _job + 
              "',[Obj_doteam]='" + _doteam + 
              "',[Obj_optime]='" + 
              "getdate() where Obj_id=" + 
              "'" + _tid + "'"; 
            this.dbProcessor.ExecuteSql(sql); 
    这里的 "getdate() where Obj_id=" 好象没有错吧???
      

  7.   

     "',[Obj_optime]='" + 
    ----->
     "',[Obj_optime]=" + 
      

  8.   

        "',[Obj_dotime]='" + _dotime + 
        "',[Obj_finaltime]='" + _finaltime + 我已经在前面定义 private DateTime _dotime;
                   private DateTime _finaltime;类型的了,怎么还会报从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界的错误啊?怎么改啊???
      

  9.   

    '0001-1-1 0:00:00'这个已经是datetime类型的最小值了.是越界了
    你要是日期想填空的话就给个''或是null就行.
      

  10.   

    上楼说的意思是 "',[Obj_dotime]='" + _dotime + 
        "',[Obj_finaltime]='" + _finaltime + 
    改为 "',[Obj_dotime]='" + null+ 
        "',[Obj_finaltime]='" null+ 吗??
      

  11.   

    [Obj_finaltime]=''这个,''插到日期型字段中会是:1900-01-01 00:00:00.000
    或[Obj_finaltime]=null, null插进去就是null你最好不要拼接sql,最好用参数化来做:)
    不过你要确定你的表中字段允许为空
      

  12.   

    String.Format()用这个啊,这么多加号,眼睛都花了,还有getdate()用参数来处理,看起来方便简单!
      

  13.   

    [Obj_optime]='getdate()检查一下这里
      

  14.   

    可以调试下,运行完这句后,把这个sql的值手动放到数据库运行下运行下,
    这样看眼晕的了