XE8 FireDAC+SQLite...no such table的問題 |
缺席
|
ESCAPE
一般會員 發表:37 回覆:47 積分:16 註冊:2005-02-15 發送簡訊給我 |
各位好!
再次叼擾各位了,煩請各位不吝指教。 我使用FireDac SQLite佈署到機器上執行出現no such table的錯誤, 我是使用xe8附屬的範例資料庫Employee.s3db資料庫測試, 很確定裏面有兩個資料表。 而且也是按照原廠網站的範例去做的。 我也有參考這篇: http://delphi.ktop.com.tw/board.php?cid=30&fid=1501&tid=106443 但問題還是一樣,不知道是我哪裡沒設定嗎? 我也使用FileExists函數確認有這個資料庫檔案在,但使用FDConnection1.GetTablesName顯示是一個空白資料庫。 煩請有經驗的先進不令指教,謝謝! |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
ESCAPE
一般會員 發表:37 回覆:47 積分:16 註冊:2005-02-15 發送簡訊給我 |
很謝謝P.D.大的回覆,茲附上程式碼供參考。
程式碼很簡單,就只是設定資料庫路徑,然後用FDQuery open。 程式碼如下,在麻煩各位先進指正錯誤,謝謝! [code delphi] procedure TfrmMain.Button2Click(Sender: TObject); Var _TF:Boolean; _List: TStrings; _path:UnicodeString; begin _List:=TStringList.Create; _path:=TPath.Combine(TPath.GetDocumentsPath PathDelim,'employee.s3db'); {$IF DEFINED(iOS) or DEFINED(ANDROID)} FDConnection1.Params.Values['Database']:=_Path; FDConnection1.Connected:=True; FDConnection1.GetTableNames('','','',_List); memo1.Lines.AddStrings(_List); {$ENDIF} // If FileExists(_Path) Then Begin MessageDlg('db is exists',System.UITypes.TMsgDlgType.mtInformation, [ System.UITypes.TMsgDlgBtn.mbOK ],0, Procedure (Const AResult:TModalResult) Begin If AResult=mrOk Then Begin With FDQuery1 Do Begin Close; SQL.Clear; sql.add('select * from Employee'); Open; //open後出現:No such table: Employee的錯誤訊息 End; //end with End; End ) End; //end if // If FileExists(_Path)=False Then Begin MessageDlg('db no exists',System.UITypes.TMsgDlgType.mtError, [ System.UITypes.TMsgDlgBtn.mbOK ],0,Nil) End; //end if end;[/code] ===================引 用 P.D. 文 章=================== 建議你把這段資料庫處理的code發上來才好看 |
ESCAPE
一般會員 發表:37 回覆:47 積分:16 註冊:2005-02-15 發送簡訊給我 |
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |