unable to find record. no key specified

Delphi

23/05/2003

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


K-rol

K-rol

Curtidas 0

Melhor post

Emerson Nascimento

Emerson Nascimento

01/10/2008

[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´.


GOSTEI 1

Mais Respostas

Marcelo.c

Marcelo.c

23/05/2003

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


GOSTEI 0
K-rol

K-rol

23/05/2003

todas as tabelas tem chave primaria


GOSTEI 0
K-rol

K-rol

23/05/2003

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


GOSTEI 0
Raptrap

Raptrap

23/05/2003

[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;


GOSTEI 0
Rômulo Barros

Rômulo Barros

23/05/2003

[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


GOSTEI 0
Mazzi

Mazzi

23/05/2003

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


GOSTEI 0
POSTAR