Hi ,
I am trying to use indexeddb but not sure where to start ,
could you please help to clarify the following ,
1. is there some documents regarding about how to use it ?
2. how do we manage db versioning , when we modify our db structures ?
3. what is the best way to initialize our table structure in our database
let say we have more than 50 tables and how can we avoid of creating the
table fields one by one using field editors ?
4. Are we able to get the data by exporting as JSON from TWEbClientDataset ?
Thanks,
At this moment doc is not yet ready. It is in beta and we are working on this. As soon as doc & sample is ready,it will be integrated in the distribution.
Hi , thanks for the new added indexeddb example , here are some of my questions after checking out the example,
1. why IndexedDBClientDataSet.Indexes.Add('DD','due_date',[ixPrimary]); have to
add again, isn't it IndexedDBClientDataSet.AddIDBIndex('ByDate', 'due_date'); already
added the index ?
is IndexedDBClientDataSet.IDBActiveIndex := 'ByDate'; same as
IndexedDBClientDataSet.ActiveIndex := 'DD'; ?
2. if my indexeddb table was been created previously by JS, or some other JS library ,
i need to add the fields one by one like IndexedDBClientDataSet.FieldDefs.Add('status',ftString); ?
3. the IndexedDBClientDataSet , possible to open the table using the name of the table directly like
WebClientDataset , which we do not need to force to create the fieldDefs one by one ?
Thanks,
Kalmen.
Hi ,
1. not sure i got what u try to explain, as i showed that the already added the index ,
IndexedDBClientDataSet.AddIDBIndex('ByDate', 'due_date');
but how come , Hi ,
1. not sure i got what u try to explain, as i showed that the already added the index ,
IndexedDBClientDataSet.AddIDBIndex('ByDate', 'due_date');
but how come , IndexedDBClientDataSet.Indexes.Add('DD','due_date',[ixPrimary]); have to add one more time, do u mean that in the for all indexeddb dataset , if we need to use the indexes , we need to create twice, one is when we actually create them physically ,another is dataset, is when we need to use it ,
so one is for calling the indexeddb component to create the physical dataset
another is for creating to be used by the UI ?
Hi , i have some more questions regarding about the indexeddb , have been waiting for it as one of my function for my webapp is required to use indexeddb,
1. is there a way to manage the versioning of indexeddb using the component ?
let say , i added new fields and need to manage the version, how can i do that ?
2. if i have already created the indexeddb table in my JS , how do i open the table ?
i can see the database name , table in my chrome developer console , application tab,
under storage section , how do i use the component to point to the existing
storage / tables and make use of the data , those that stored .
please advice.
HI , it is not so straight forward ,until today ,i still cannot get the indexeddb dataset component works,
let me give u an example , i use JS script to created the indexeddb table ,
queue_log : "&id,res_id,temp_id,process_type,model_name"
and when my project is running , i can view the queue_log table in the chrome dev console , which
has the table queue_log
with 3 key (key path : 'model_name') primary key( key path: "id" )
(key path : 'res_id') primary key( key path: "id" )
(key path : 'process_type') primary key( key path: "id" )
and i have other fields , let say is field1string , field2date , not part of the index but normal
fields , what should i do exactly in order to map into the indexeddb component , to use
it the indexeddbDataset component .
thanks .
You create a TWebIndexedDBClientDataSet and add to FieldDefs the fields you want to connect to.
This is demonstrated in the IndexedDB demo under Demo\Basics\IndexedDB
Hi Bruno ,
Can i find out if i wish to add a primary key ID but not need to auto incremental , how to do that ?
Thanks.
Did you set TWebIndexedDBClientDataSet.IDBAutoIncrement = false?
why i keep facing this ,
IndexedDB: Internal error, DoGetData entry with these conditions not possible.
Weblib.IndexedDb.pas:801
IndexedDB Warning: AddIndex commands ignored for existing database.
Weblib.IndexedDb.pas:354