Array
(
)

ADODataset e banco ACCess

Vitor^_^
   - 27 fev 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


Aroldo Zanela
   - 28 fev 2006

Colega,

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


Vitor^_^
   - 01 mar 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!


Paullsoftware
   - 01 mar 2006

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

eu sempre uso o seguinte:
nos eventos AffterPost e AffterDelete:
#Código


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 true...


Vitor^_^
   - 01 mar 2006

eu não me expresei bem:
como eu disse, eu uso um clientdataset ligado a um datasetprovider ligado a um TAdoTable.

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.