Access数据库adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('SELECT * FROM zysf  wHERE 发车时间=#'+timetostr(DateTimePicker1.Time)+'# ');
adoquery1.Open;出错:不正常的定义参数对象,提供了不一致和不完整的信息

解决方案 »

  1.   

    'SELECT * FROM zysf  where 发车时间='''+'#'+timetostr(DateTimePicker1.Time)+'# '''
      

  2.   

    function AccessDate(D: TDateTime): string;
    var yy, mm, dd: Word;
    begin
      DecodeDate(D, yy, mm, dd);
      Result := Format('#%2d/%2d/%d#', [mm, dd, yy]);
    end;'SELECT * FROM zysf where 发车时间='#39+AccessDate(DateTimePicker1.Date)+#39
      

  3.   

    'SELECT * FROM zysf  where 发车时间='''+'#'+FormatDateTime('hh'':''mm'':''ss',DateTimePicker1.Time)+'# '''
      

  4.   

    简单而完全的方法是使用参数:
    adoquery1.SQL.Add('SELECT * FROM zysf  WHERE 发车时间 = :StartTime');
    adoquery1.Parameters.CreateParameter('StartTime', ftDateTime, pdInput, SizeOf(TDateTime), DateTimePicker1.Time);
    adoquery1.Open;
      

  5.   


    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('SELECT * FROM zysf  ' + 
                      'WHERE WHERE CONVERT(varchar, 发车时间, 105) = ' + #39
                      FormatDateTime('DD', DateTimePicker1.Time) + '-' +
                      FormatDateTime('MM', DateTimePicker1.Time) + '-' +
                      FormatDateTime('YYYY', DateTimePicker1.Time) + #39);
    adoquery1.Open;
    //CONVERT: SQL的转换函数(varchar:转换成字符串;105:转换成DD-MM-YYYY的格式
      

  6.   

    上边多了一个WHERE adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('SELECT * FROM zysf  ' + 
                      'WHERE CONVERT(varchar, 发车时间, 105) = ' + #39
                      FormatDateTime('DD', DateTimePicker1.Time) + '-' +
                      FormatDateTime('MM', DateTimePicker1.Time) + '-' +
                      FormatDateTime('YYYY', DateTimePicker1.Time) + #39);
    adoquery1.Open;
    //CONVERT: SQL的转换函数(varchar:转换成字符串;105:转换成DD-MM-YYYY的格式
      

  7.   

    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('SELECT * FROM zysf  ' + 
                      'WHERE CONVERT(varchar, 发车时间, 105) = ' + #39
                      FormatDateTime('DD', DateTimePicker1.Time) + '-' +
                      FormatDateTime('MM', DateTimePicker1.Time) + '-' +
                      FormatDateTime('YYYY', DateTimePicker1.Time) + #39);
    adoquery1.Open;
    //CONVERT: SQL的转换函数(varchar:转换成字符串;105:转换成DD-MM-YYYY的格式=============================================================================
    严重同意!