Fórum Gravacao de Dados no IB #209573

26/01/2004

0

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 é 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

Responder

Posts

26/01/2004

Sremulador

Amigo quando o banco de dados cresce muito o locate fica extremamente lento, para atualizar inserir os dados seria melhor utilizar o updatesql.


Responder

Gostei + 0

27/01/2004

M@rcelo

Amigo
vc teria um exmplo de utilizacao do updatesql usando edits como eu fiz ao invez de editar o banco direto ?
Obrigado


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar