我正在使用 delphi 2010 和 Tim Anderson 的 SQLite3 包装器 - http://www.itwriting.com/blog/?page_id=659 - 但我无法插入日期
这是我的数据库创建
DB.ExecSql('CREATE TABLE Tags (No Integer NOT NULL, Title VarChar(25) NOT NULL, Creator VarChar(25) NULL, Born Date NULL, Charter Boolean Default False NULL, Owned Boolean Default False NULL, Image Blob NULL, CONSTRAINT PK_No PRIMARY KEY (No));');
哪个构建和工作正常。我用 SQLite 管理员测试了它 - http://sqliteadmin.orbmu2k.de/ 我什至可以使用管理员手动输入日期
这是我的插入
DB.ExecSql('Insert into Tags (No, Title, Creator, Born, Charter, Owned) ' +
'values (' + quotedStr(frmTag.edtTagNo.Text) + ',' + quotedStr(frmTag.edtTitle.Text) + ',' +
quotedStr(frmTag.edtCreator.Text) + ',' + quotedStr(frmTag.edtBorn.Text) + ',' +
quotedStr(BoolToStr(frmTag.cbxCharter.Checked)) + ',' + quotedStr(BoolToStr(frmTag.cbxOwned.Checked)) + ');');
日期字段由 edtBorn 控件 (TRzDateEdit) 提供
我在插入之前检查了 edtBorn.Text 和 edtBorn.date 的值,并且日期始终正确。
我尝试插入以下方式:
frmTag.edtBorn.Text
FormatDateTime('mm/dd/yyyy',frmTag.edtBorn.Text)
quotedStr(frmTag.edtBorn.Text)
quotedStr(FormatDateTime('mm/dd/yyyy',frmTag.edtBorn.Text))
我什至尝试过使用参数
DB.AddParamText('@ABorn', frmTag.edtBorn.Text);
DB.AddParamFloat('@ABorn', frmTag.edtBorn.Date);
似乎没有任何效果!我没有例外,但我的字段从未获得 dat 值!