Forum > Packages and Libraries

BufferData not let append records when index is active

(1/1)

eldonfsr:
Hello i made a test with bufferdata table to validate or work with event on duplicate index key or record duplicate record of index fields definition but don't me add records always show a error...


--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---procedure TFormCtrlInv.FormShow(Sender: TObject);begin  BDInvFis.FieldDefs.Clear;  BDInvFis.FieldDefs.Add('Rowid',ftInteger,6);  BDInvFis.FieldDefs.Add('NumProd',ftString,20);  BDInvFis.FieldDefs.Add('NomProd',ftString,120);  BDInvFis.FieldDefs.Add('Fecha',ftDate,0);  BDInvFis.FieldDefs.Add('Catidad',ftFloat,10);  BDInvFis.FieldDefs.Add('Afectado',ftBoolean,0);  BDInvFis.FieldDefs.Add('ContadoPor',ftString,20);  BDInvFis.FieldDefs.Add('Almacen',ftString,6);  BDInvFis.FieldDefs.Add('eXISTENCIA',ftfLOAT,10);  BDInvFis.CreateDataset;  BDInvFis.IndexDefs.Add('Prodindex','numprod',[ixUnique,ixCaseInsensitive]);   if( BDInvFis.Active = false) then begin     BDInvFis.open;   end; to here look everthing is ok table is created and open..
here i add a empty record

--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---procedure TFormCtrlInv.BtnAddClick(Sender: TObject);begin   BDinvFis.Append;   BDInvFis.FieldByName('RowId').AsInteger:=bDInvFis.RecordCount+1;   DbGInvfis.SetFocus;   EBprod.Text:=bDInvFis.FieldByName('NumProd').AsString ;   DbGInvfis.SelectedIndex:=0; end;  and when i assing value to record..

--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---procedure TFormCtrlInv.EBProdExit(Sender: TObject);var Tsql:TsqlQuery;//    RowId:Integer;begin  Tsql:= TsqlQuery.Create(nil);  Tsql.Database:= DM.MySQLCOpti;  Tsql.Transaction:= DM.SQLTopti;  Counted:=false;  if( EBprod.Text<>'') Then begin       BDInvFis.edit;       BDInvFis.FieldByName('NumProd').AsString := EBProd.Text;       BDInvFis.Post; end;   just on post send this error, if not index active i can edit values but when index id open...

paweld:
prepare some simple program that shows this error, because the component itself is ok.

Navigation

[0] Message Index

Go to full version