Unable to resolve records. Table name not found

Delphi

22/11/2010

Ola a todos. Estou encontrando problemas ao salvar um registro na minha aplicação.

Estou utilizando D2007 e MySQL. Para conectar estou utilizando ADOConnection, ADODataSet, DataSetProvider, ClientDataSet e DataSource.

Meu SQL acessa somente uma tabela - select * from DVD
Meu ClientDataSet esta com a função AfterPost com a seguinte linha:
if clientdataset1.changecount>0 then clientdataset1.applyupdates(-1); E é justamente nesta linha que ocorre o erro, quando tente aplicar as mudanças.

Ja efetuei as seguintes mudanças: No campo/atributo CodDVD que é chave primaria alterei a ProviderFlag pfInkey para TRUE.

Também no DataSetProvider  na propriedade UpdateMode alterei para upWhereKeyOnly, mas o erro ainda continua.

Fiz uma tabela com Microsoft Access e tentei com as mesmas configurações e funcionou, mas no MySQL nao esta funcionando.

Alguém poderia ajudar?

Abraços John
John Mendes

John Mendes

Curtidas 0

Respostas

Pietro Braga

Pietro Braga

22/11/2010

Olá amigo, para conectar com MySQL eu recomendo que você utilize outra tecnologia para a conexão com o banco de dados, como o DBExpress por exemplo, ou Zeos que também trabalha muito bem com o MySQL, quanto ao erro, suponho que o campo CODDVD seja auto incremento certo?Deixe a Provider Flag pfInUpdate como False, normalmente não marco pfInKey e nem no DSP como WhereKeyOnly, ainda nesse campo marque Required como False. Poste aí se funcionou. Abs
GOSTEI 0
John Mendes

John Mendes

22/11/2010

  Olá, obrigado Pietro pela dica, mas resolvi o problema de outra forma. Por incrível que pareça, o problema foi no SQL. Eu estava utilizando: SELECT *FROM DVD. Porem, o * (asterisco) estava junto com a palavra FROM e isso estava causando o erro.

  Para resolver o problema eu refiz o SQL separando o * asterisco do FROM e tudo funcionou perfeitamente.

Muito obrigado,

John.
GOSTEI 0
POSTAR