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