update tm set 圖號=:a where 接圖日期>=:ks and 接圖日期<=:js and 客戶=:khupdate tm set 圖號=:a where 接圖日期 between :ks and :js and 客戶=:kh接圖日期不起作用,就把我選定客戶的全部更新。是access數據庫。

解决方案 »

  1.   

    update tm set 圖號=:a where (接圖日期 between :ks and :js) and (客戶=:kh) 
      

  2.   

    接圖日期不起作用就是,比如選的是2009-5-1 到2009-10-1 客戶是abc更新後客戶abc的全部更新,而不是2009-5-1到2009-10-1.這樣赋值
    adoquery1.Parameters.ParamByName('ks').Value:=datetostr(datetimepicker1.DateTime);
    adoquery1.Parameters.ParamByName('js').Value:=datetostr(datetimepicker2.DateTime);
      

  3.   

    update tm set 圖號=:a where
     (接圖日期 between :ks and :js)   ==> [接圖日期] >=  :KS and [接圖日期] <= :JSand (客戶=:kh)
      

  4.   

    begin
    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('update tm set 圖號=:a where [接圖日期] >=:ks and [接圖日期] <=:js and (客戶=:kh)');
    adoquery1.Parameters.ParamByName('a').Value:='test';
    adoquery1.Parameters.ParamByName('kh').Value:=combobox1.Text;
    adoquery1.Parameters.ParamByName('ks').Value:=datetostr(datetimepicker1.DateTime);
    adoquery1.Parameters.ParamByName('js').Value:=datetostr(datetimepicker2.DateTime);
    adoquery1.ExecSQL;
    end;這是全部代碼。
      

  5.   

    我用是的access數據庫,不是sql-server
      

  6.   

    adoquery1.Parameters.ParamByName('ks').AsDateTime:=datetimepicker1.DateTime; 
    adoquery1.Parameters.ParamByName('js').AsDateTime:=datetimepicker2.DateTime; 
      

  7.   

    11樓我用的是adoquery沒有這個啊.AsDateTime
      

  8.   

    呵呵,是沒有,不好意思。這樣看看
    adoquery1.Parameters.ParamByName('ks').Value:=datetimepicker1.DateTime; 
    adoquery1.Parameters.ParamByName('js').Value:=datetimepicker2.DateTime; 
      

  9.   

    對了,還要指定 datatype
    adoquery1.Parameters.ParamByName('ks').DataType :=ftDateTime;
    adoquery1.Parameters.ParamByName('js').DataType :=ftDateTime;
      

  10.   

    直接用这个试试 ,另外在看下你的字段的类型是日期还是字符串
    update tm set 圖號=:a where 接圖日期>=:ks and 客戶=:kh 
      

  11.   

    回16樓直接用update tm set 圖號=:a where 接圖日期>=:ks and 客戶=:kh可以更新。
    字段類型是日期型的
      

  12.   

    ADOQuery1.Parameters.ParamByName('ks').Value:=FormatDateTime('yyyy-mm-dd',datetimepicker1.DateTime)
      

  13.   

    謝謝各位,問題找到了
    改成這樣就可以了
    adoquery1.Parameters.ParamByName('kh').Value:=trim(combobox1.Text); 
    結帖了!!!