unable to find record. no key specified

23/05/2003

15

estou usando mysql 3.23.52
acessado com dbexpress
SQLDataSet + DataSetProvider + ClientDataSet + DataSource

estava dando o erro:
record not found or changed by another user
configurei os providerflags dos campos e updatemode do provider, parou de dar esse erro, mas aparece outro:

unable to find record. no key specified.

Como posso resolver esse problema?

obrigada,
K-ROL


Responder

Posts

23/05/2003

Marcelo.c

Verifique se todas as tabelas tem a chave primária definida.


Responder

23/05/2003

K-rol

todas as tabelas tem chave primaria


Responder

26/05/2003

K-rol

serah q ninguem passou por esse problema antes e sabe como resolve-lo.....
as minhas tabelas todas tem chave primaria....
inclusive jah tentei excluir e definir novamente
mesmo assim o problema continua


Responder

25/01/2006

Raptrap

[quote:4de29abd82=´K-ROL´]serah q ninguem passou por esse problema antes e sabe como resolve-lo.....
as minhas tabelas todas tem chave primaria....
inclusive jah tentei excluir e definir novamente
mesmo assim o problema continua[/quote:4de29abd82]

Tenta mudar a propriedade providerFlags dos campos que forem chave primária: pfInKey := False;


Responder

25/01/2006

Rômulo Barros

[quote:242d222cd1=´K-ROL´]serah q ninguem passou por esse problema antes e sabe como resolve-lo..... as minhas tabelas todas tem chave primaria.... inclusive jah tentei excluir e definir novamente mesmo assim o problema continua


Tenta mudar a propriedade providerFlags dos campos que forem chave primária: pfInKey := False;[/quote:242d222cd1]

É o inverso ! Configure-as para true, tanto nos fields do CDS quanto nos fields do seu SQLDataSet.

[b:242d222cd1]Obs:[/b:242d222cd1] a configuração é mais importante no SQLDataSet


Responder

01/10/2008

Mazzi

Realmente colocar tudo true!, exceto os campos que não sao chaves e nao fazem parte da tabela principal.


Responder
[quote:9ec5f26a87=´K-ROL´]estou usando mysql 3.23.52
acessado com dbexpress
SQLDataSet + DataSetProvider + ClientDataSet + DataSource

estava dando o erro:
record not found or changed by another user
configurei os providerflags dos campos e updatemode do provider, parou de dar esse erro, mas aparece outro:

unable to find record. no key specified.

Como posso resolver esse problema?

obrigada,
K-ROL[/quote:9ec5f26a87]

realmente é necessário configurar, no sqldataset ou no datasetprovider, o campo chave de modo a ficar com a opção pfInkey = True na propriedade Providerflags.

e o dataset provider deve ter a propriedade UpdateMode para upWhereKeyOnly.

ainda assim talvez você continue recebendo uma mensagem parecida, se você tiver os campos chave com autoincremento.
imagine o campo id_cliente. quando você está incluindo o registro, esse registro em edição não tem um valor no campo chave (ou tem um valor temporário). depois de efetivada a gravação física no banco de dados (commit), o registro recebe o id definitivo (autoincremento do banco), que é diferente daquele que o dbExpress conhecia antes do commit. por isso o erro ´unable to find record´.


Responder