unable to find record. no key specified
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
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
Curtidas 0
Melhor post
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´.
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
23/05/2003
Verifique se todas as tabelas tem a chave primária definida.
GOSTEI 0
K-rol
23/05/2003
todas as tabelas tem chave primaria
GOSTEI 0
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
as minhas tabelas todas tem chave primaria....
inclusive jah tentei excluir e definir novamente
mesmo assim o problema continua
GOSTEI 0
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;
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
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
23/05/2003
Realmente colocar tudo true!, exceto os campos que não sao chaves e nao fazem parte da tabela principal.
GOSTEI 0