DATABASE IS LOCKED DELPHI MOBILE
Estou fazendo um projeto de Delphi escola e nele tenho que gravar dados no SQLITE. Estou usando o seguinte código:
unit UClube;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
FMX.ListView.Types, FMX.ListView.Appearances, FMX.ListView.Adapters.Base,
FMX.StdCtrls, FMX.ListView, FMX.DateTimeCtrls, FMX.Edit,
FMX.Controls.Presentation, FMX.TabControl, FireDAC.Stan.Intf,
FireDAC.Stan.Option, FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf,
FireDAC.Stan.Def, FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys,
FireDAC.Phys.SQLite, FireDAC.Phys.SQLiteDef, FireDAC.Stan.ExprFuncs,
FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf, FireDAC.DApt,
FireDAC.FMXUI.Wait, System.Rtti, System.Bindings.Outputs, Fmx.Bind.Editors,
Data.Bind.EngExt, Fmx.Bind.DBEngExt, Data.DB, FireDAC.Comp.DataSet,
Data.Bind.Components, Data.Bind.DBScope, FireDAC.Comp.UI, FireDAC.Comp.Client, System.IOUtils;
type
TForm1 = class(TForm)
TabControl1: TTabControl;
TabItem2: TTabItem;
tb1: TTabItem;
lvSocio: TListView;
btnSalvar: TButton;
btnCancelar: TButton;
btnEditar: TButton;
btnExcluirr: TButton;
Panel1: TPanel;
edtDataNasc: TDateEdit;
edtCod: TEdit;
edtNome: TEdit;
edtRg: TEdit;
edtCPF: TEdit;
edtEndereco: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
labwl: TLabel;
NOME: TLabel;
Button5: TButton;
Panel2: TPanel;
edtDataA: TDateEdit;
edtCodSocio: TEdit;
Label6: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
rdbSocio: TRadioButton;
edtNomeA: TEdit;
btnNovoA: TButton;
edtHoraIA: TEdit;
Label7: TLabel;
Edit7: TEdit;
edtHoraFA: TLabel;
edtDescricaoA: TEdit;
Label9: TLabel;
edtValorA: TEdit;
btnCancelarA: TButton;
btnEditarA: TButton;
btnExcluirA: TButton;
btnSalvarA: TButton;
lvAgendamento: TListView;
FDConnPrincipal: TFDConnection;
qrSocio: TFDQuery;
qrAgendamento: TFDQuery;
FDPhysSQLiteDriverLink1: TFDPhysSQLiteDriverLink;
FDGUIxWaitCursor1: TFDGUIxWaitCursor;
BindSourceDB1: TBindSourceDB;
BindingsList1: TBindingsList;
LinkListControlToField1: TLinkListControlToField;
LinkControlToField1: TLinkControlToField;
LinkControlToField2: TLinkControlToField;
LinkControlToField3: TLinkControlToField;
LinkControlToField4: TLinkControlToField;
LinkControlToField5: TLinkControlToField;
LinkControlToField6: TLinkControlToField;
qrSocioID: TFDAutoIncField;
qrSocioNOME: TStringField;
qrSocioRG: TStringField;
qrSocioCPF: TStringField;
qrSocioENDERECO: TStringField;
qrSocioDATA_NASC: TDateField;
qrSocioCODIGO: TIntegerField;
qrAgendamentoID: TFDAutoIncField;
qrAgendamentoNOME: TStringField;
qrAgendamentoCODIGO: TIntegerField;
qrAgendamentoDESCRICAO: TWideMemoField;
qrAgendamentoDATA: TDateField;
qrAgendamentoHORA_INICIO: TStringField;
qrAgendamentoHORARIO_FIM: TStringField;
qrAgendamentoVALOR: TLargeintField;
qrAgendamentoSOCIO: TStringField;
procedure rdbSocioChange(Sender: TObject);
procedure btnSalvarClick(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure btnCancelarClick(Sender: TObject);
procedure btnEditarClick(Sender: TObject);
procedure btnExcluirrClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
procedure TForm1.btnCancelarClick(Sender: TObject);
begin
qrSocio.Cancel;
Panel1.Enabled := False;
end;
procedure TForm1.btnEditarClick(Sender: TObject);begin
if qrSocio.RecordCount > 0 then
begin
qrSocio.Edit;
Panel1.Enabled := True;
edtNome.SetFocus;
end;
end;
procedure TForm1.btnExcluirrClick(Sender: TObject);begin
if qrSocio.RecordCount = 0 then
abort;
qrSocio.Delete;
ShowMessage('Dados excluídos!');
end;
procedure TForm1.btnSalvarClick(Sender: TObject);begin
if edtNome.Text = '' then
begin
ShowMessage('O nome não pode estar vázio!');
edtNome.SetFocus;
abort;
end;
qrSocio.Post;
qrSocio.Refresh;
Panel1.Enabled := False;
end;
procedure TForm1.Button5Click(Sender: TObject);begin
Panel1.Enabled := True;
edtNome.SetFocus;
qrSocio.Append;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
FDConnPrincipal.Connected := True;
try
{$IF DEFINED (IOS) or DEFINED (ANDROID)}
FDConnPrincipal.Params.Values['DATABASE'] := TPath.Combine(TPath.GetDocumentsPath, 'BD_CLUBE.s3db');
{$ENDIF}
except on E: Exception do
ShowMessage(e.Message);
end;
qrSocio.Open();
end;
procedure TForm1.rdbSocioChange(Sender: TObject);begin
if rdbSocio.IsChecked = true then
begin
edtCodSocio.Enabled := true;
edtCodSocio.SetFocus;
end;
end;
end.
E recebo o seguinte erro: 
Discussão (0)
Carregando comentários...