Denovo é pq to precisando mesmo, Gravar dados no IB.
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
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
Curtidas 0
Respostas
Gandalf.nho
03/02/2004
O registro da resposta já existe quando você dá o UPDATE?
GOSTEI 0
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
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
sera que nao faltou um aplplyupdates ou coisa desse tipo
GOSTEI 0