Fórum IBdataset não altera registro #49714
07/03/2005
0
Crio um banco de dadoos no Interbase 6.0 como o abaixo:
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.
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
+ 0
Responder
Posts
07/03/2005
Fsflorencio
A propriedade ModifySQL do ibdataset está ok?
Responder
Gostei + 0
07/03/2005
Gandalf.nho
[b:761d916cd5][color=red:761d916cd5]Notificação de Infração às Regras de Conduta :[/color:761d916cd5][/b:761d916cd5]
Duplicidade
[url]http://forum.clubedelphi.net/viewtopic.php?t=59657[/url]
Para maiores esclarecimentos pode mandar-me uma [url=http://delphiforum.icft.com.br/forum/privmsg.php?mode=post&u=8378]Mensagem Particular[/url].
Duplicidade
[url]http://forum.clubedelphi.net/viewtopic.php?t=59657[/url]
Para maiores esclarecimentos pode mandar-me uma [url=http://delphiforum.icft.com.br/forum/privmsg.php?mode=post&u=8378]Mensagem Particular[/url].
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)