把在ListView1中某一列的数据添加到后台SQL SERVER的表中,此数据为 "list.Caption:=formatdatetime('yyyy-mm-dd hh:mm:ss',now)"类型的时间值,请问:后台表中对应的数据类型应该是什么型呢??还有怎样添进去呢??大家帮帮吧,谢谢,谢谢啦!!!

解决方案 »

  1.   

    后台表中对应的数据类型应DateTime,AdoQuery1.FieldByName('date').AsString := list.Caption
      

  2.   

    后台表中对应的数据类型应该是 大datetimesql := 'insert into tablename (fieldname) value(''' + list.Caption + ''')';
      

  3.   

    datetime类型数据。其实在DELPHI中datetime类型就是一FLOAT类型的数据
    SQL语句:'update 表名 set 日期=datetime'
      

  4.   

    datetime形你要先建立一个数据表,再把数据插入就可以了
      

  5.   

    我是这样写的:
    var
      ac1:TAdoCommand;
      ad1:TAdoDataSet;
    begin
      ac1:=TAdoCommand.Create(self);
      ad1:=TAdoDataSet.Create(self);
      ad1.Prepared:=true;
      ad1.Active:=false;
      ac1.Connection:=ADOConnection1;
      ac1.CommandText:='insert into beijing_table (times) values ("'+list.Caption+'")';
      ac1.Execute;
      ad1.Connection:=ADOConnection1;
      ad1.CommandText:='select * from beijing_table';
      ad1.Active:=true;
    但还是有错误提示:在此上下文不允许出现'2005-01-28 10:13:30',此处只允许使用常量,表达式和变量,不允许使用列名'
    大家帮看看吧,谢谢!!
      

  6.   

    这样吧,请大家帮我解决下面的问题好了:
    procedure TForm1.FormCreate(Sender: TObject);
    var
      ac1:TAdoCommand;
      ad1:TAdoDataSet;
      ds1:TDataSource;
      s:string;
    begin
      ADOConnection1.Open;
      ac1:=TAdoCommand.Create(self);
      ad1:=TAdoDataSet.Create(self);
      ds1:=TDataSource.Create(self);
      ad1.Active:=false;
      s:=formatdatetime('yyyy-mm-dd hh:mm:ss',now);
      ac1.Connection:=ADOConnection1;
      ac1.CommandText:='insert into beijing_table (times) values ("'+s+'")';
      ac1.Execute;
      ad1.Connection:=ADOConnection1;
      ad1.CommandText:='select * from beijing_table';
      ad1.Active:=true;
      ds1.DataSet:=ad1;
      dbgrid1.DataSource:=ds1;
    end;
    拜托大家,这个解决了,我就OK了,我会好好感谢的,恳求!!!!
      

  7.   

    procedure TForm1.FormCreate(Sender: TObject);
    var
      ac1:TAdoquery;
      ad1:TAdoquery;
      ds1:TDataSource;
      s:string;
    begin
      ADOConnection1.Open;
      ac1:=TAdoquery.Create(self);
      ad1:=TAdoquery.Create(self);
      ds1:=TDataSource.Create(self);
      ad1.Active:=false;
      s:=formatdatetime('yyyy-mm-dd hh:mm:ss',now);
      ac1.Connection:=ADOConnection1;
      ac1.SQL.Text:='insert into beijing_table (times) values ('''+s+''')';
      ac1.ExecSQL;  ad1.Connection:=ADOConnection1;
      ad1.SQL.Text:='select * from beijing_table';
      ad1.Open;
      ds1.DataSet:=ad1;
      dbgrid1.DataSource:=ds1;
    end;
      

  8.   

    AdoQuery1.FieldByName('date').AsString := list.Caption
    如果date为datetime,保存的为datetime格式,
    不过如果list.Caption不正确,可能会报错
      

  9.   

    to:cdsgajxlp(起名很难) 
    为什么用ADOdataset不行呢???求解!!!!
      

  10.   

    我想再问各位一个问题,SQL.Text:='insert into beijing_table (times) values ('''+s+''')';中的('''+s+''')是怎样啊??("' '") 竟然是('''  '''),不解啊,不解啊
      

  11.   

    ADOdataset也可以实现,不过我没有用他来测试SQL.Text:='insert into beijing_table (times) values ('''+s+''')'是英文的单引号  
    你showmessage('''')看看,不就知道了么