说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

帮我看一下!

编辑:说三道四文库 发布时间:2018-07-19 10:16
HTML文档下载 WORD文档下载 PDF文档下载
下面的代码执行以后应该得到
2003-5-6
这个结果呀,可是我得到的确实
1905-6-16
为什么呀?谁帮我解释一下呀!
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB;

type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    A1: TADOQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
   A1.Close;
   A1.SQL.Clear;
   A1.SQL.Add('insert into TA(riqi) values('+DateToStr(Date())+')');
   showmessage(A1.SQL.Text);
   A1.ExecSQL;
   A1.SQL.Clear;
   A1.SQL.Add('select * from TA');
   A1.Open;
end;

end.
1、看你的TA是否有多条记录
2、看你的系统日期是否有问题
A1.SQL.Add('insert into TA(riqi) values('+DateToStr(Date())+'')');
控制面板的区域设置、日期设置看一下
是不是accsee数据库?
日期变量前面和后面加#
应该不是日期设置的问题
改成 A1.SQL.Add('insert into TA(riqi) values('''+DateToStr(Date())+''')');

这样行
我在accsee数据库中遇到过这种问题
不可思义
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘