Fórum Problema besta com BD em Acess(ADO Conecction e CIA) #193156
06/11/2003
0
Tenho um BD em Acess, mas quando uso o botão para inserir/Alterar etc, ele diz q tá com erro de sintaxe. Queria saber mesmo se está ou se eu fiz alguma coisa errada. Sou iniciante e num sako muito ainda. Queria saber se é o BD que naum aceita gravações ou qual é o pro!
Obrigado :wink:
Dead_thinker
Curtir tópico
+ 0Posts
06/11/2003
Rodrigo Costa
Coloque o código aqui (a parte que interessa) para nós podermos ajudá-lo.
Gostei + 0
06/11/2003
Dead_thinker
procedure TForm1.Button1Click(Sender: TObject); //Incluir
begin
WITH QGERAL DO BEGIN
CLOSE;
SQL.CLEAR;
SQL.ADD(´Insert into Endereços´);
SQL.ADD(´(COD,NOME,TEL,END) Values´);
SQL.ADD(´(:0_COD,:1_NOME,:2_TEL,:3_END)´);
Parameters[0].Value:= strtoint(EDIT1.Text);
Parameters[1].Value:= EDIT2.Text;
Parameters[2].Value:= EDIT3.Text;
Parameters[3].Value:= Edit4.Text;
EXECSQL;
end;
SHOWMESSAGE(´REGISTRO INCLUIDO !´);
end;
procedure TForm1.Button2Click(Sender: TObject); //Alterar
begin
WITH QGERAL DO BEGIN
CLOSE;
SQL.CLEAR;
SQL.ADD(´UPDATE Endereços SET´);
SQL.ADD(´COD = :0_COD,´);
SQL.ADD(´NOME = :1_NOME,´);
SQL.Add(´TEL = :2_TEL,´);
SQL.ADD(´END = :3_END,´);
SQL.ADD(´WHERE COD = :4_COD´);
Parameters[0].Value:= strtoint(EDIT1.Text);
Parameters[1].Value:= EDIT2.Text;
Parameters[2].Value:= EDIT3.Text;
Parameters[3].Value:= EDIT4.Text;
Parameters[4].Value:= StrToInt(Edit1.Text);
EXECSQL;
end;
SHOWMESSAGE(´REGISTRO ALTERADO !´);
end;
Gostei + 0
06/11/2003
Brnz
Creio q seja isso pq por exemplo a consulta
sql.add(´select * from´);
sql.add(´tabela´);
naum funfa... mas...
sql.add(´select * from tabela´); tah mais do q certo...
achu q eh issow...
flow...
BRNz...
Gostei + 0
06/11/2003
Brnz
qdo dah sql.add ele naum quebra as linhas na verdade...
intaum... se quiseres manter em diversos add ponha um espaço no final de cada q seja necessario...
tipo
WITH QGERAL DO BEGIN
CLOSE;
SQL.CLEAR;
SQL.ADD(´Insert into Endereços{-->} {<--}´);
SQL.ADD(´(COD,NOME,TEL,END) Values{-->} {<--}´);
SQL.ADD(´(:0_COD,:1_NOME,:2_TEL,:3_END)´);
Parameters[0].Value:= strtoint(EDIT1.Text);
Parameters[1].Value:= EDIT2.Text;
Parameters[2].Value:= EDIT3.Text;
Parameters[3].Value:= Edit4.Text;
EXECSQL;
Gostei + 0
06/11/2003
Rodrigo Costa
adoquery.insert; //é o mesmo que append ! adoquery.fieldbyname(´COD´).asinteger:=strtoint(edit1.text); adoquery.fieldbyname(´NOME´).asstring:=edit2.text; adoquery.fieldbyname(´TEL´).asstring:=edit3.text; adoquery.fieldbyname(´END´).asstring:=edit4.text; adoquery.post; //grava
usar sql é melhor mesmo, mas talvez, usar os métodos seja mais fácil:
insert ou append - libera um novo registro em branco;
cancel - cancela o processo
delete - apaga o regsitro
edit - libera o registro para alteração (requer um post após a alteração)
post - grava o registro
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)