ADODataset e banco ACCess

Delphi

27/02/2006

Estou desenvolvendo um projetinho para um banco de dados access no qual eu não posso mexer ou alterar nada.

Tem uma tabela de empresas que tem apenas o campo ´Empresa Nome´

Quando eu dou um insert no clientdataset ligado ao adodataset, eu consigo colocar o nome da empresa no dbedit e talz, mas quando eu dou um post, ocorre o erro ´Erro de sintaxe na instrução INSERT INTO´ O que eu devo fazer? não estou conseguindo inserir nenhum registro.


Grato


Vitor Rubio

Vitor Rubio

Curtidas 0

Respostas

Aroldo Zanela

Aroldo Zanela

27/02/2006

Colega,

Se possível, coloque um fragmento do código para avaliarmos.


GOSTEI 0
Vitor Rubio

Vitor Rubio

27/02/2006

estou aqui no escritório e o código está em casa. Então só poderei mandar o código a noite. Mas o código é bem simples:

eu uso um TadoTable, mas com o TAdoDataSet ocorre a mesma coisa.

Tenho um provider ligado ao TAdoTable e um clientdataset ligado a esse provider. Quando eu dou um insert, beleza, preencho os campos e talz. Quando eu dou um post e um applyupdates(0) aí dá o problema. o código é isso: só insert e post.

Acho que tá dando esse problema porque o nome da tabela é composto de duas paçavras. Será que é isso?

vlw!


GOSTEI 0
Paullsoftware

Paullsoftware

27/02/2006

o erro está no applyUpdates(0);
já pensei em tirar ele...

eu sempre uso o seguinte:
nos eventos AffterPost e AffterDelete:
if not conexao.InTransaction then
 conexao.BeginTrans;
  try
   if conexao.InTransaction then
    conexao.CommitTrans
     except
      if conexao.InTransaction then
       conexao.RollbackTrans;
        end;


e não precisa usar o comando applyupdates... até onde sei ele deve ser usado somente se a propriedade CacheUpdates estiver como [b:dd78ec5d18]true[/b:dd78ec5d18]...


GOSTEI 0
Vitor Rubio

Vitor Rubio

27/02/2006

eu não me expresei bem:
como eu disse, eu uso um [b:86322ec447]clientdataset[/b:86322ec447] ligado a um [b:86322ec447]datasetprovider[/b:86322ec447] ligado a um [b:86322ec447]TAdoTable[/b:86322ec447].

quando eu dou insert, post e applyupdates, é no clientdataset e nunca no TAdoTable.

e tambem a mensagem de erro é totalmente diferente da mensagem que daria se eu desse applyupdates no TAdoTable sem cached updates.


GOSTEI 0
POSTAR