Gravar os dados do DBMEMO na tabela

Delphi

11/12/2006

Uso o Firebird 1.5, o nome do campo é observacao do tipo blob.
Criei um form e nele inseri um DBMEMO, com o datasouce apontando pra tabela, e coloquei um bitbtn pra incluir e outro pra alterar a digitação no DBMEMO, estou usando simplesmente o componente DBMEMO direto, no caso de incluir um texto dou um ´Dsdados.DataSet.Append;´ e depois um ´BMemo1.SetFocus;´ no caso de alterar ´Dsdados.DataSet.Edit;´ e depois um ´BMemo1.SetFocus;´ creio que o meu erro está em tratar a informação no momento de gravar, como eu deveria proceder???
Pois na primeira inclusão, mesmo dando um erro, o conteúdo fica gravado, mas na alteração, eu consigo alterar o texto, porém na hora de gravar também dá um erro e não grava.
Se alguém puder me ajudar desde já agradeço.


Tida

Tida

Curtidas 0

Respostas

Micheus

Micheus

11/12/2006

[b:f5e73d01fe]tida[/b:f5e73d01fe], informe o erro que está ocorrendo, pode facilitar no auxílio.


GOSTEI 0
Tida

Tida

11/12/2006

o erro que ocorre é o seguinte:
EDatabaseError with message ´Unable to find record. No key specified´


GOSTEI 0
Tida

Tida

11/12/2006

A solução do problema encontrei com um amigo por telefone.

Uma forma de resolver várias mensagens de erro quando se grava dados no banco, é trabalhar com tabelas que sempre tenham um campo como chave primária, pois caso a tabela não tenha uma chave primária, na hora de gravar acaba dando a mensagem que deu pra mim descrita acima.
Criei uma chave na minha tabela e funcionou beleza.

Um abraço.


GOSTEI 0
POSTAR