Fórum Erro: Informações insuficientes ou incorretas sobre a coluna, de chave, muitas linhas foram afetadas pela atualização. #615856
27/05/2021
0
Boa tarde, Tenho um botão com o código abaixo, funciona como esperado mas quando vou excluir a linha ou alterar me da a menssagem de erro acima.
Estou usando:
01 - ADOConection
01 - ADOTable
01 - ADODataSource
01 - DBGrid.
Varios DBEdits
Fico grato se puderem me ajudar.
Estou usando:
01 - ADOConection
01 - ADOTable
01 - ADODataSource
01 - DBGrid.
Varios DBEdits
Código:
procedure TForm1.Button9Click(Sender: TObject);
var
i,J,iTot: Integer;
registro: array of variant;
begin
iTot := StrToIntDef(DBEdit2.Text,0); // configura o tamanho do array [Linhas] com o número de campos da tabela
SetLength(registro, ADOTable1.FieldCount); // grava o conteúdo do registro posicionado, de onde serão feitas as cópias
for J := 0 to ADOTable1.FieldCount-1 do
registro[J] := ADOTable1.Fields[J].Value;
for I := 1 to iTot do
begin
ADOTable1.Append; // cria um registro em branco
for J := 1 to High(registro) do // recupera os valores do array ''''registro''''
if (J = 1) then
ADOTable1.Fields[J].AsInteger := registro[J]//Incremento do Tombamento
else
ADOTable1.Fields[J].Value := registro[J];//Demais campos
ADOTable1.edit;
ADOTable1.Post;
end;
ADOTable1.Close;
ADOTable1.Open;
end;Fico grato se puderem me ajudar.
Huemersonfmg
Curtir tópico
+ 0
Responder
Posts
07/06/2021
Huemersonfmg
Boa tarde, Tenho um botão com o código abaixo, funciona como esperado mas quando vou excluir a linha ou alterar me da a menssagem de erro acima.
Estou usando:
01 - ADOConection
01 - ADOTable
01 - ADODataSource
01 - DBGrid.
Varios DBEdits
Fico grato se puderem me ajudar.
Estou usando:
01 - ADOConection
01 - ADOTable
01 - ADODataSource
01 - DBGrid.
Varios DBEdits
Código:
procedure TForm1.Button9Click(Sender: TObject);
var
i,J,iTot: Integer;
registro: array of variant;
begin
iTot := StrToIntDef(DBEdit2.Text,0); // configura o tamanho do array [Linhas] com o número de campos da tabela
SetLength(registro, ADOTable1.FieldCount); // grava o conteúdo do registro posicionado, de onde serão feitas as cópias
for J := 0 to ADOTable1.FieldCount-1 do
registro[J] := ADOTable1.Fields[J].Value;
for I := 1 to iTot do
begin
ADOTable1.Append; // cria um registro em branco
for J := 1 to High(registro) do // recupera os valores do array ''''registro''''
if (J = 1) then
ADOTable1.Fields[J].AsInteger := registro[J]//Incremento do Tombamento
else
ADOTable1.Fields[J].Value := registro[J];//Demais campos
ADOTable1.edit;
ADOTable1.Post;
end;
ADOTable1.Close;
ADOTable1.Open;
end;Fico grato se puderem me ajudar.
Boa noite, consegui encontrar o problema, na hora de setar a número de auto incremento, estava travando, eu tirei o mesmo e estou inserindo manualmente então parou de travar.
Oblrigado.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)