[yunqa.de] Re: TDISQLite3UniDirQuery select * thinks string field is ftFloat

  • From: Delphi Inspiration <delphi@xxxxxxxx>
  • To: yunqa@xxxxxxxxxxxxx
  • Date: Wed, 11 Jul 2012 16:26:35 +0200

On 11.07.2012 06:19, Ann Lynnworth wrote:

> Why is SQLiteSpy able to display the dataset without trouble?

Because SQLiteSpy fully supports SQLite's manifest typing:

  http://www.sqlite.org/different.html#typing

This means that different cells within the same row may have different
data types. For this reason, SQLiteSpy retrieves, stores and displays
the data type for each cell individually.

TDataSet, on the other hand, only supports a single data type per row.
In addition, all fields must be set up before retrieving data. The only
way to do so is to determine the field type from the query's type
declarations.

Unfortunately, this fails if columns use non-SQLite types like "string".
In this case, applications should use the
TDISQLite3UniDirQuery.OnInitFieldDef event to override the default
behavior and set up the correct types as required.

Ralf
_______________________________________________
Delphi Inspiration mailing list
yunqa@xxxxxxxxxxxxx
//www.freelists.org/list/yunqa



Other related posts: