Hi, Still struggeling... I can get it to work with ONE primary key and first setting that field, ReadOnly := false; BUT it's not my value entered. It seems to be an autoincremented id. This will not work for me. I need support for more than one primary key and I must be able to insert my own (uniqe) values. //Hansson -----Ursprungligt meddelande----- Från: Hans-Inge Hansson Skickat: den 23 november 2010 13:13 Till: yunqa@xxxxxxxxxxxxx Ämne: ClientDataset and Primary Key Hi, How do I insert and post records in a table using a clientdataset and a table with primary key? See simple example below. Must be something obvius I'm missing. //Hansson uses Classes, Controls, Forms, StdCtrls, ComCtrls, ExtCtrls, Provider, DBClient, DB, DISQLite3DataSet, DISQLite3Database, SysUtils; type TfrmMain = class(TForm) DISQLite3Database: TDISQLite3Database; DISQLite3UniDirQuery: TDISQLite3UniDirQuery; ClientDataset1: TClientDataSet; DataSetProvider: TDataSetProvider; Button1: TButton; procedure Button1Click(Sender: TObject); public end; var frmMain: TfrmMain; implementation uses Dialogs, MidasLib; {$R *.dfm} procedure TfrmMain.Button1Click(Sender: TObject); var j: Integer; begin DISQLite3Database.Close; DeleteFile('Test.db'); DISQLite3Database.DatabaseName := 'Test.db'; DISQLite3Database.CreateDatabase; // DISQLite3Database.Execute('CREATE TABLE TEMP (A INTEGER NOT NULL,B SMALLINT NOT NULL, VALUE NVARCHAR(20))'); // WORKS WITH NO PRIMARY KEYS DISQLite3Database.Execute('CREATE TABLE TEMP (A INTEGER NOT NULL,B SMALLINT NOT NULL, VALUE NVARCHAR(20) , CONSTRAINT I PRIMARY KEY (A, B))'); // DON'T WORK ClientDataset1.Close; DISQLite3UniDirQuery.SelectSQL := 'SELECT * FROM TEMP'; ClientDataset1.Open; ClientDataset1.Insert; ClientDataset1.FieldByName('A').AsString := '203921'; ClientDataset1.FieldByName('B').AsString := '0'; ClientDataset1.FieldByName('VALUE').AsString := '203921010'; ClientDataset1.Post; ClientDataset1.ApplyUpdates(-1); ClientDataset1.Close; end; _______________________________________________ Delphi Inspiration mailing list yunqa@xxxxxxxxxxxxx //www.freelists.org/list/yunqa