Procurei antes de postar aqui,como gravar em duas tabelas mas são situaçoes diferentes com estrutura diferente do banco.
Pessoal estou confuso aqui meio sem saber como fazer e o que esta dando errado.
Situação :
Windows XP
Delphi 7
Firebird
Estou usando SimpleDataSet,DataSource e um TSQLConnection.Também estou usando DBEdtis
As configuraçoes do SimpleDataSet esta assim:
CommandText = Select * from tbl_1,tbl_2,tbl_3
Active = True
Connection TSQLConnection
A tabela 1 esta assim:
id int not null,
nome varchar(60) not null,
endereco varchar(60),
tipo_pessoa char(2)
A tabela 2 esta assim
id int not null
rg varchar(13),
cpf varchar(13),
fk_tabela_1 int
A tabela 3 esta assim
id int not null
modelo varchar(60)
ano varchar(10)
fk_tabela_2 int
É mais ou menos isso pessoal,qualquer coisa jogo a tabela aqui blz.Bom então o ID de todas as tabelas sendo gerados automaticamente pelo um Generator.Estou usando o IBOConsole.
Ao gravar ele diz que campo ID não pode estar vazio,que precisa ser digitado,tirei ele do Field do SimpleDataSet,sabe quando você adiciona os campos então de lá.
Acredito que não to nem conseguindo explicar,vou colocar os codigos dos botões do Novo e Gravar,são os que estao dando erro e não sei como gravar nas tabelas.
Estou usando :
SimpleDataSet.post; // para gravar
em vez de :
SimpleDataSet.Dataset.CommandText:='Insert into tal..tal...tal....'
Testei na tabela com insert into tbl_1 e tal so q fiz varios inserts mas deu certo.
Se eu usar com comando Sql talvez funcione assim como fiz direto na tabela,mas minha duvida também é na opção edit,com faria um edit usando Sql no Delphi ?
Ou poderia usar somente SimpleDataSet.Edit; ??
É melhor deixar a tabela sem auto incremento ?
Tira os Campos not null ?
Como copiar o valor de tabela_1_id para fk_tabela_2 ?
Tá complexo pessoal.
Espero que tenha conseguido explicar,qualquer coisa subo os codigos aqui.
Pergunta
Seingalt
Bom dia pessoal,td bem ?!
Procurei antes de postar aqui,como gravar em duas tabelas mas são situaçoes diferentes com estrutura diferente do banco.
Pessoal estou confuso aqui meio sem saber como fazer e o que esta dando errado.
Situação :
Windows XP
Delphi 7
Firebird
Estou usando SimpleDataSet,DataSource e um TSQLConnection.Também estou usando DBEdtis
As configuraçoes do SimpleDataSet esta assim:
CommandText = Select * from tbl_1,tbl_2,tbl_3
Active = True
Connection TSQLConnection
A tabela 1 esta assim:
id int not null,
nome varchar(60) not null,
endereco varchar(60),
tipo_pessoa char(2)
A tabela 2 esta assim
id int not null
rg varchar(13),
cpf varchar(13),
fk_tabela_1 int
A tabela 3 esta assim
id int not null
modelo varchar(60)
ano varchar(10)
fk_tabela_2 int
É mais ou menos isso pessoal,qualquer coisa jogo a tabela aqui blz.Bom então o ID de todas as tabelas sendo gerados automaticamente pelo um Generator.Estou usando o IBOConsole.
Ao gravar ele diz que campo ID não pode estar vazio,que precisa ser digitado,tirei ele do Field do SimpleDataSet,sabe quando você adiciona os campos então de lá.
Acredito que não to nem conseguindo explicar,vou colocar os codigos dos botões do Novo e Gravar,são os que estao dando erro e não sei como gravar nas tabelas.
Estou usando :
SimpleDataSet.post; // para gravar
em vez de :
SimpleDataSet.Dataset.CommandText:='Insert into tal..tal...tal....'
Testei na tabela com insert into tbl_1 e tal so q fiz varios inserts mas deu certo.
Se eu usar com comando Sql talvez funcione assim como fiz direto na tabela,mas minha duvida também é na opção edit,com faria um edit usando Sql no Delphi ?
Ou poderia usar somente SimpleDataSet.Edit; ??
É melhor deixar a tabela sem auto incremento ?
Tira os Campos not null ?
Como copiar o valor de tabela_1_id para fk_tabela_2 ?
Tá complexo pessoal.
Espero que tenha conseguido explicar,qualquer coisa subo os codigos aqui.
Obrigado.
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.