2014-02-08 2 views
0

Mobile Tutorial: Using SQLite (iOS and Android) 단계로이 튜토리얼 단계를 수행했지만 내 안드로이드 장치에 응용 프로그램을 배포하고 항목을 추가하려고하면 다음 오류가 발생합니다 "데이터베이스를 열 수 없습니다 파일 "여기Delphi XE5 Android Dev "데이터베이스 파일을 열 수 없습니다"

내 코드의 단편이다

procedure TForm1.rappadAfterConnect(Sender: TObject); 
begin 
     rappad.ExecuteDirect('CREATE TABLE IF NOT EXISTS notes(ID INTEGER PRIMARY KEY, title TEXT NOT NULL, content TEXT NOT NULL);'); 
end; 

procedure TForm1.rappadBeforeDisconnect(Sender: TObject); 
begin 
    {$IF DEFINED(iOS) or DEFINED(ANDROID)} 
    rappad.Params.Values['ColumnMetadataSupported'] := 'False'; 
    rappad.Params.Values['Database'] := 
     TPath.Combine(TPath.GetDocumentsPath, 'rappad.s3db'); 
    {$ENDIF} 
end; 

사람이 왜이 실제로 일어나고 알고 있나요? 감사!

답변

2

rappadBeforeDisconnect에있는 코드는 예선 대신에 연결해야합니다. 을 연결 해제하기 전에 데이터베이스가있는 연결을 알려주는 의미는 없습니다..

procedure TForm1.rappadBeforeConnect(Sender: TObject); 
begin 
    {$IF DEFINED(iOS) or DEFINED(ANDROID)} 
    rappad.Params.Values['ColumnMetadataSupported'] := 'False'; 
    rappad.Params.Values['Database'] := 
     TPath.Combine(TPath.GetDocumentsPath, 'rappad.s3db'); 
    {$ENDIF} 
end; 
+0

고마워요! 나는 그 때 실제로 그 때주의했다! 왜냐하면, 오브젝트 인스펙터에서 실수로 BeforeConnect 대신 BeforeDisconnect 프로 시저를 클릭했기 때문입니다. DUR! 어리석은 me ... 그 사고에 나이 동안 붙어 있고 혼란하게하게되었다. 고맙습니다! :) – Slinky

관련 문제