Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: Cannot open FdTable on Sqlite database without rowid


This question is answered. Helpful answers available: 1. Correct answers available: 1.


Permlink Replies: 1 - Last Post: Sep 5, 2017 12:56 AM Last Post By: Dmitry Arefiev
Mark Anderson

Posts: 38
Registered: 4/22/07
Cannot open FdTable on Sqlite database without rowid  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Sep 4, 2017 11:41 AM
Greetings

I'm using Delphi10.1 Berlin on a Windows 10 64bit OS. I create an SQLite database using the "without rowed" parameter. I then create a new VCL forms project and drop an FDConnection, an FDQuery, and an FDTable component. I then do the following:

1. I choose the SQLite driver in my FDConnection, and point my database to where my SQLite database resides (on the same windows computer).
I enable my FDConnection successfully.

2. The FDquery is already pointing to my FDconnection, so I enter the following sql statement into the query:

**Select * from CheckinTable;

I then successfully open this query.

3. My FDtable is also pointing to my FDConnection, so I enter the tablename of CheckinTable into the FDTable. When I attempt to open the table, I
receive the following error:

[FireDac][Phys][SQLite] ERROR: no such column A.ROWID

After doing some research, I seem to find that keeping the metadata option in the FetchOptions->Items property can cause this, so I set this property in the Table to False. Same result.

I then change the same item in the FDConnection. Again, same error.

What do I have to do to be able to open this table?

Thanks

Mark Anderson
Dmitry Arefiev

Posts: 1,406
Registered: 12/7/03
Re: Cannot open FdTable on Sqlite database without rowid
Helpful
Click to report abuse...   Click to reply to this thread Reply
  Posted: Sep 5, 2017 12:56 AM   in response to: Mark Anderson in response to: Mark Anderson
FireDAC TFDTable requires that a table was created with ROWID. Consider that as a limitation.
You should use TFDQuery instead of TFDTable.

--
With best regards,
Dmitry
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02