Inserindo datas usando “Um simples Delphi Wrapper for SQLite3”
Estou usando o delphi 2010 e o envoltório SQLite3 de Tim Anderson -http://www.itwriting.com/blog/?page_id=659 - mas estou com dificuldades para inserir datas
Aqui está a minha criação de banco de dados
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));');
Que constrói e funciona bem. Testei com o administrador do SQLite -http://sqliteadmin.orbmu2k.de/ Eu sou mesmo capaz de inserir manualmente as datas usando adminstrator
aqui está minha inserção
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)) + ');');
O campo de data está sendo fornecido pelo controle edtBorn (TRzDateEdit)
Eu verifiquei os valores de edtBorn.Text amd edtBorn.date antes da inserção e a data está sempre correta.
Eu tentei inserir as seguintes maneiras:
frmTag.edtBorn.Text
FormatDateTime('mm/dd/yyyy',frmTag.edtBorn.Text)
quotedStr(frmTag.edtBorn.Text)
quotedStr(FormatDateTime('mm/dd/yyyy',frmTag.edtBorn.Text))
Eu até tentei usar parâmetros
DB.AddParamText('@ABorn', frmTag.edtBorn.Text);
DB.AddParamFloat('@ABorn', frmTag.edtBorn.Date);
Nada parece funcionar! Não obtenho exceções, mas meu campo nunca recebe um valor de dat!