1/日期型字段不能作为条件吗?
select sum(字段名) as getsum from tablename where 日期>2003-6-1 时就会出现:"Type mismatch in expression."怎么解决啊?
2/在DBGrid中,怎样输入第一个字段时第二个字段就会自动的填上第一个字段的前三个字符啊。如第一字段输入"10055",确认后,第二个字段就自动的填上数据"100"。最好能写详细一点.举个例子.

解决方案 »

  1.   

    1 select sum(字段名) as getsum from tablename where 日期>'2003-6-1'
    query.sql.add(' select sum(字段名) as getsum from tablename where 日期>''2003-6-1''');
    2
    str:= IntToStr(100) + Str;
      

  2.   

    是什么数据库,日期应该转换成日期类型 如oracle:to_date('2003-06-01', 'yyyy-mm-dd')
      

  3.   

    你类型错误!select sum(字段名) as getsum from tablename where 日期>‘2003-6-1 ’
    转化成字符相加就是了
      

  4.   

    或者使用参数
    ado的
    parameters.parambyname('mydate').value:=strotdate('2003-6-1');
      

  5.   

    日期要加引号2。
    procedure datachang(sender:Tfield);
    begin
       sender.dataset.edit;
       sender.dataset.fields[1].asstring:=copy(sender.dataset.fields[0].asstring,0,3);
    end;
    数据集打开后:
    dataset.fields[0].onchang:=datachang;
      

  6.   

    为什么改成select sum(字段名) as getsum from tablename where 日期>'2003-6-1'以后还是出现:"Type mismatch in expression."啊
      

  7.   

    你日期的数据类型是datetiem型吗?
    如果是,用参数吧
    select sum(字段名) as getsum from tablename where 日期>:s1;
    adoquery1.Parameters.ParamByName('s1').Value:=strtodate('2001-6-1');
      

  8.   

    1。前面都是对的。
    2。 
     if DBGrid1.SelectedField.Name='Emp_ID'   then
     DataSet1.FieldByName('Emp_Name').value :=Copy(DBGrid1.SelectedField.Value,1,3);
      

  9.   

    对了,在这个事件中:
    procedure TForm3.DBGrid1ColExit(Sender: TObject);
    beginend;
      

  10.   

    如果你用的是ACCESS,在参数前后不是加引号,而是#
      

  11.   

    单引号...
    如果觉得单引号麻烦的话就用PARAM
      

  12.   

    "日期"的字段类型是data型的,改成select sum(字段名) as getsum from tablename where 日期>'2003-6-1'以后还是出现:"Type mismatch in expression."我用的BDE.
      

  13.   

    "日期"的字段类型是data型的,改成select sum(字段名) as getsum from tablename where 日期>'2003-6-1'以后还是出现:"Type mismatch in expression."我用的BDE.
      

  14.   

    哪位大哥能做好一个示范程序啊.就像上面说的问题一样.麻烦给我发过来.分另外算[email protected]
      

  15.   

    select sum(字段名) as getsum from tablename where 日期>'2003-6-1'
    可能和你用的数据库有关,数据库的日期类型可能不支持'2003-6-1'
      

  16.   

    1. 日期型要加引号的!2. 
    procedure TForm3.DBGrid1ColExit(Sender: TObject);
    begin  …… if DBGrid1.SelectedField.Name='Emp_ID'   then
       DataSet1.FieldByName('Emp_Name').value :=Copy(DBGrid1.SelectedField.Value,1,3); ……end;
      

  17.   

    select sum(字段名) as getsum from tablename where 日期>'2003-6-1' 
    你在DELPHI中是怎么写的,直接这样可不行,要注意单引号第二个你可以在字段值改变的时候写代码