varrendo e quot;Editandoquot; os registros de uma tabela
21/03/2006
0
O código abaixo teria que fazer o seguinte teóricamente:
- Gostaria de trocar os dados que exitem na tabela materiais, referente aos campos ´tipo de materiais´, ´Autores´, ´Editoras´ e ´Areas´
Atualmente nesses campos estão os nomes de tais referencias do tipo ´Autor = CLube Delphi´... gostaria de ir na tabela autores, fazer uma
verificação de qual é o código do autor ´clube delphi´..
- Em seguida aloco esse código numa vaiavel, excluo o registro atual da tabela materiais ´em um IBDataSet diferente´ e insiro ao invés do nome do autor, o código.
- Fasso isso para todos os campos da tabela acima citado.
- Nao estou dando um Tabela.Edit, por que nao está funcionando comigo aqui, entao estou fazendo assim, só que nao não acontece nada... os registros continuam
iguaizinhos estavam...
Componentes usados: IBDataSet, IBTransaction, IBDatabase, DataSource
Delphi: 7
Banco: Firebird 1.5
Campos da tabela:
-----------------
´CODIGO´INTEGER NOT NULL,
´REFERENCIA´VARCHAR(11) NOT NULL,
´NOME´VARCHAR(100) NOT NULL,
´QUANTIDADE´VARCHAR(50),
´TIPO´VARCHAR(50),
´AUTOR´VARCHAR(100),
´SINOPSE´VARCHAR(1000),
´EDITORA´VARCHAR(50),
´EXEMPLAR´VARCHAR(50),
´VOLUME´VARCHAR(50),
´EDICAO´VARCHAR(50),
´ANO_EDICAO´VARCHAR(50),
´LOCAL´VARCHAR(50),
´AREA´VARCHAR(50),
´STATUS´VARCHAR(50),
´RESERVA´VARCHAR(50),
CONSTRAINT ´PK_LIVROS´ PRIMARY KEY (´CODIGO´)
Bom espero ter sido claro, se alguem puder me ajudar a achar o problema nesse código agradeceria e muito
- Gostaria de trocar os dados que exitem na tabela materiais, referente aos campos ´tipo de materiais´, ´Autores´, ´Editoras´ e ´Areas´
Atualmente nesses campos estão os nomes de tais referencias do tipo ´Autor = CLube Delphi´... gostaria de ir na tabela autores, fazer uma
verificação de qual é o código do autor ´clube delphi´..
- Em seguida aloco esse código numa vaiavel, excluo o registro atual da tabela materiais ´em um IBDataSet diferente´ e insiro ao invés do nome do autor, o código.
- Fasso isso para todos os campos da tabela acima citado.
- Nao estou dando um Tabela.Edit, por que nao está funcionando comigo aqui, entao estou fazendo assim, só que nao não acontece nada... os registros continuam
iguaizinhos estavam...
Componentes usados: IBDataSet, IBTransaction, IBDatabase, DataSource
Delphi: 7
Banco: Firebird 1.5
Campos da tabela:
-----------------
´CODIGO´INTEGER NOT NULL,
´REFERENCIA´VARCHAR(11) NOT NULL,
´NOME´VARCHAR(100) NOT NULL,
´QUANTIDADE´VARCHAR(50),
´TIPO´VARCHAR(50),
´AUTOR´VARCHAR(100),
´SINOPSE´VARCHAR(1000),
´EDITORA´VARCHAR(50),
´EXEMPLAR´VARCHAR(50),
´VOLUME´VARCHAR(50),
´EDICAO´VARCHAR(50),
´ANO_EDICAO´VARCHAR(50),
´LOCAL´VARCHAR(50),
´AREA´VARCHAR(50),
´STATUS´VARCHAR(50),
´RESERVA´VARCHAR(50),
CONSTRAINT ´PK_LIVROS´ PRIMARY KEY (´CODIGO´)
Bom espero ter sido claro, se alguem puder me ajudar a achar o problema nesse código agradeceria e muito
procedure TForm1.Button1Click(Sender: TObject); var Codigo,Referencia,Nome,Quantidade,Sinopse,Exemplar,Volume,Edicao,Ano_Edicao,Local : String; ti, ti2, au, au2, ed, ed2, ar, ar2, co : String; begin Tbl_Materiais.First; while not Tbl_Materiais.Eof do begin Ti := Tbl_MateriaisTIPO.AsString; Tbl_Tipo.Close; Tbl_Tipo.SelectSQL.Clear; Tbl_Tipo.SelectSQL.Add(´SELECT * from TIPO_MATERIAL WHERE TIPO = :Tipo´); Tbl_Tipo.ParamByName(´Tipo´).AsString:=Ti; Tbl_Tipo.Open; ti2 := Tbl_TipoCODIGO.AsString; Au := Tbl_MateriaisAUTOR.AsString; Tbl_Autores.Close; Tbl_Autores.SelectSQL.Clear; Tbl_Autores.SelectSQL.Add(´SELECT * from Autores WHERE AUTOR = :Autor´); Tbl_Autores.ParamByName(´Autor´).AsString:=Au; Tbl_Autores.Open; Au2 := Tbl_AutoresCODIGO.AsString; Ed := Tbl_MateriaisEDITORA.AsString; Tbl_Editoras.Close; Tbl_Editoras.SelectSQL.Clear; Tbl_Editoras.SelectSQL.Add(´SELECT * from Editoras WHERE EDITORA = :Editora´); Tbl_Editoras.ParamByName(´Editora´).AsString:=Ed; Tbl_Editoras.Open; Ed2 := Tbl_AutoresCODIGO.AsString; Ar := Tbl_MateriaisAREA.AsString; Tbl_Areas.Close; Tbl_Areas.SelectSQL.Clear; Tbl_Areas.SelectSQL.Add(´SELECT * from Area WHERE NOME = :Area´); Tbl_Areas.ParamByName(´Area´).AsString:=Ar; Tbl_Areas.Open; Ar2 := Tbl_AreasCODIGO.AsString; Codigo := Tbl_MateriaisCODIGO.AsString; Referencia := Tbl_MateriaisREFERENCIA.AsString; Nome := Tbl_MateriaisNOME.AsString; Quantidade := Tbl_MateriaisQUANTIDADE.AsString; Sinopse := Tbl_MateriaisSINOPSE.AsString; Exemplar := Tbl_MateriaisEXEMPLAR.AsString; Volume := Tbl_MateriaisVOLUME.AsString; Edicao := Tbl_MateriaisEDICAO.AsString; Ano_Edicao := Tbl_MateriaisANO_EDICAO.AsString; Local := Tbl_MateriaisLOCAL.AsString; // exclui Co := Tbl_MateriaisCODIGO.AsString; Tbl_Exclui_Ma.Close; Tbl_Exclui_Ma.SelectSQL.Clear; Tbl_Exclui_Ma.SelectSQL.Add(´Delete From LIVROS Where CODIGO = :Cod´); Tbl_Exclui_Ma.Params[0].AsString; Tbl_Exclui_Ma.ParamByName(´Cod´).AsString:=Co; Tbl_Exclui_Ma.ExecSql; Tbl_Materiais.Open; Tbl_Materiais.Insert; Tbl_MateriaisCODIGO.AsString := Codigo; Tbl_MateriaisREFERENCIA.AsString := Referencia; Tbl_MateriaisNOME.AsString := Nome; Tbl_MateriaisQUANTIDADE.AsString := Quantidade; Tbl_MateriaisTIPO.AsString := Ti2; Tbl_MateriaisAUTOR.AsString := Au2; Tbl_MateriaisSINOPSE.AsString := Sinopse; Tbl_MateriaisEDITORA.AsString := Ed2; Tbl_MateriaisEXEMPLAR.AsString := Exemplar; Tbl_MateriaisVOLUME.AsString := Volume; Tbl_MateriaisANO_EDICAO.AsString := Ano_Edicao; Tbl_MateriaisLOCAL.AsString := Local; Tbl_MateriaisAREA.AsString := Ar2; Tbl_Materiais.Post; Tbl_Materiais.ApplyUpdates; Tbl_Materiais.Next; end; end;
Mahdak
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)