Fórum IBdataset não altera registro #271236
07/03/2005
0
connect ´c:\usr\wemprestimo\emprestimo.gdb´ user ´SYSDBA´ password ´masterkey´;
/* cria tabela empresas */
Create table Empresa
(ECodemp integer not null,
ENome varchar(60),
EEndereco varchar(60),
EBairro varchar(30),
ECidade varchar(30),
Erua integer,
ECep varchar(9),
EEstado char(2),
ETel varchar(13),
ETel2 varchar(13),
EFax varchar(13),
ECnpj varchar(18),
EInscr varchar(18),
ECrm varchar(8),
EEmail varchar(30),
EHP varchar(30),
primary key (ECodemp));
Create table cliente
(Clcodigo integer not null,
clnome varchar(50),
clendereco varchar(50),
clnumero integer,
clbairro varchar(25),
clcidade varchar(25),
clcep varchar(9),
primary key (clcodigo));
e crio um projeto no delphi 6.0 com os componentes IBX:
coloco um
IBDatabase
IBTransaction
IBDataSet
DataSource
e ligo todos eles.
O problema é o seguinte: a inserção de registros funciona ok. mas quando vou alterar um registro dou um edit, depois
altero e clico na botão gravar que tem os comandos post e commit. só que quando abro o banco de dados de novo o
registro não foi alterado, como se tivesse sido dado um rollback e cancelado aquela edição.
Conferi várias vezes as ligações entre os componentes, mudei o nome do banco de dados, o nome das tabelas e da
sempre o mesmo problema, a inserção funciona mas a alteração não.
Outro detalhe. Se colocar o componente IBTable no lugar do IBdataset a alteração funciona, não consigo entender porque.
Se puder me ajudar, desde já agradeço.
:?:
Pradosoft
Curtir tópico
+ 0Posts
07/03/2005
Maurício Santos
No lugar do post não seria melhor vc utilizar um ApplyUpdate????
Maurício
Gostei + 0
07/03/2005
Aroldo Zanela
Clique com o botão direito sobre o dataset e selecione Dataset Editor, certifique-se que a chave primária está selecionada em Key Fields e ss demais campos estejam em Update Fields. Verifique se há código gerado na aba ´SQL´ e se estão corretos.
No evento AfterPost, coloque uma chamada para o método CommitRetaining do objeto IBTransaction.
Gostei + 0
08/03/2005
Pradosoft
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)