sSql = 'Select * From tablename Where timecolumn = "' + Combo1.Text + '-' + Combo2.Text + '-' + Combo3.Text + '"'

解决方案 »

  1.   

     若时间字段时字符型:
      Query1.SQL.Add(Format('Select * From %s Where FieldName=''%s-%s-%s''',[tablename,ComboBox1.Text,ComboBox2.Text,ComboBox3.Text]);
     若时间字段时时间类型:
      year:=StrToInt(Combobox1.text);
      month:=StrToInt(Combobox2.text);
      day:=StrToInt(Combobox3.text);
      time:=EncordDate(year,month,day);
      Add('select * From tablename where FieldName='+DateTimeToStr(time)):
      

  2.   

    select 语句中where 语句的时间部分要用convert(datetime,format(datetime,'yyyy-mm-dd')).才能取出值
      

  3.   

    你的Table的Active属性有没有设成True
      

  4.   

    sql.add('select * from XXX where year(年字段)='+edit1.text+' month(月字段)='+edit2.text+'日字段='+edit3.text);
      

  5.   

    Query1.SQL.Text := 
      'select * from lib_qdxxb where FieldName=:pDate';
    Query1.ParamByName('pDate').AsDate := StrToDate(ComboBox1.Text + '-' + ComboBox2.Text + '-' + ComboBox3.Text);
      

  6.   

    如果你用的是sql server,不用理会时间和字符的转换!不过你所写的格式一定要符合时间类型格式!