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 amd 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 値を取得しません!