Sql :='insert into table1 (uploadtime1)'
          +' values (#'+DateTimeToStr(DateTimePicker1.Time)+'#)'

解决方案 »

  1.   

    你用的Access吗?如果不是,不能这样表示时间。
    要用FormatDataTime指定时间转换为字符串时的格式,否则生成的字符串会受当前系统设置影响,如“下午 1:02:46”,这样的格式恐怕不会被DBMS接受吧。
    如果不是Access数据库,表示时间的方法是不一样的,看一下你的DBMS的帮助吧。
    Sql :='insert into table1 (uploadtime1)'
              +' values (#'+FormatDataTime('hh:nn:ss',DateTimePicker1.Time)+'#)'********************************
    另一个建议:
    使用ODBC的DSN访问数据库,然后这样写:
    Sql :='insert into table1 (uploadtime1)'
              +' values ({ts '''+FormatDataTime('1899-12-30 hh:nn:ss',DateTimePicker1.Time)+'''})'
         ____     ____
         \ p \   / g /
          \ l \_/ n /
           \ a   o /
            \ i s /
             \ n /
              \_/
      

  2.   

    对不起,上面把FormatDateTime写成了FormatDataTime。
         ____     ____
         \ p \   / g /
          \ l \_/ n /
           \ a   o /
            \ i s /
             \ n /
              \_/
      

  3.   

    对不起,上面把FormatDateTime写成了FormatDataTime。
         ____     ____
         \ p \   / g /
          \ l \_/ n /
           \ a   o /
            \ i s /
             \ n /
              \_/
      

  4.   

    To:genphone_ru(票票) 我改了,也出同样的错误!怎么办
    TO:plainsong(伤心的风)
    你用的Access吗?如果不是,不能这样表示时间。
    你的意思是说 如果我用的是ACCESS的话就没问题了,我用的就是ACCESS2000啊,怎么解决啊?
      

  5.   

    if adoquery1.active then adoquery1.close;
       adoquery1.connectionstring := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=数据库名;Persist Security Info=False';
       adoquery1.sql.text := ‘SQL’;
       adoquery1.open;
      

  6.   

    楼上的兄弟,不行啊,不知道是不是Delphi5的ADO问题。
    谁知道啊,帮帮忙,应该不是很难。
      

  7.   

    Sql :='insert into table1 (uploadtime1)'
              +' values (#'+DateToStr(DateTimePicker1.Date)+'#)'
    ADOQry1.Close;
    ADOQry1.SQL.Clear;
    ADOQry1.SQL.Add(sql);
    ADOQry1.ExecSQL;