Denovo é pq to precisando mesmo, Gravar dados no IB.

Delphi

03/02/2004

Pessoal

to passando um programa de DBF pro Interbase e to com uma duvida
acho que to fazendo errado. O programa e simples.

Tenho um aqquivo de Perguntas (DT.IBQPertunta) onde cada registro e uma pergunta e um arquivo que guarda as respostas (DT.IBQResposta) cada registro é uma resposta.

Tenho 1 botao Proximo e outro Voltar quando o usuario clica em

Proximo tenho que gravar a resposta no arquivo de resposta
e pular pra proxima pergunta se ele clicar em Voltar tenho que voltar para
Pergunta anterior pegando do arquivo Resposta a o que ele respondeu
Anteriormente. faco apenas uma pergunta por vez na tela.

Abaixo mostro como eu fiz pra gravar os dados so que nao ta dando certo alguem poderia me informar a forma correta de fazer a gravacao dos dados. Nao sei usar o IBUpdateSql nem o IBDataset

Sera que isso resolveria ?

//DT= DataModule

//IBtrans=iBTransaction => DefaultActin=TACommitRetaining

//IBdatabase

Liguei o Database com a Tabela
Liguei o IBTrans com o IBDatabase acima
Liguei o IBQResposta com o IBDatabase
Liguei o IBQPergunta com o IBDatabase
try
DT.IBTrans.StartTransaction;
DT.IBQResposta.Sql.Clear;
DT.IBQResposta.SQL.Add( ´UPDATE RESPOSTA SET ´);
DT.IBQResposta.Sql.Add(´DESCRICAO=:DESCRICAO´); campo texto
DT.IBQResposta.Sql.Add(´COMENTARIO=:COMENTARIO´); memo
DT.IBQResposta.Sql.Add(´QUANT=:QUANT´); numerico
DT.IBQResposta.Sql.Add(´DATA=:DATA´); data
DT.IBQResposta.ParamByName(´DESCRICAO´).asString:=Editobs.Text;
DT.IBQResposta.ParamByName (´COMENTARIO´).asString:=MEMOcoment.text;
DT.IBQResposta.ParamByName(´QUANT´).asInteger:=
trunc(CEquant.value);
DT.IBQResposta.ParamByName(´DATA´).asDate:=Dtobs.date;
DT.IBQResposta.Sql.Add(´WHERE ITEM=´+
quotedstr(DT.IBQPerguntaTEM.value));

DT.IBTrans.Commit;
except
DT.IBTrans.Rollback;
end;

Gostaria de saber tb como faco procura no banco de dados
to usando o Locate.

Obrigado


M@rcelo

M@rcelo

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

03/02/2004

O registro da resposta já existe quando você dá o UPDATE?


GOSTEI 0
Lucas Silva

Lucas Silva

03/02/2004

O registro da resposta já existe quando você dá o UPDATE?


faz uma consulta com a query, se o registro ja existir vc coloca a query em modo de inserção, se naõ vc colca em modo em Edição...

INSERT e EDIT;


GOSTEI 0
M@rcelo

M@rcelo

03/02/2004

Quando estiver na primeira consulta do paciente o registro resposta nao existe, mas quando for alterar ai existe e as respostas deverao aparecer como padrao.
sera que nao faltou um aplplyupdates ou coisa desse tipo


GOSTEI 0
POSTAR