Unable to resolve records. Table name not found
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
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
Curtidas 0
Respostas
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
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.
Para resolver o problema eu refiz o SQL separando o * asterisco do FROM e tudo funcionou perfeitamente.
Muito obrigado,
John.
GOSTEI 0