Qual é o meu erro neste SQL?

Delphi

26/10/2003

Bem eu começei a trabalhar agora com Delphi, estou utilizando o componente Query com o nome Cad e tentado salvar alguns dados dentro de banco de dados Paradox como segue abaixo só que não da certo qual é o meu erro?

CAD.Open;
CAD.Active := FALSE;
CAD.SQL.Clear;
CAD.SQL.Add(´INSERT INTO TBFone(CODIGO, NOME) values (´+Edit1.Text+´,´+Edit2.Text+´)´);
CAD.ExecSQL;
CAD.Active := TRUE;
CAD.Close;


Draven

Draven

Curtidas 0

Respostas

Théo

Théo

26/10/2003

Caro Draven

Acredito que não esteja correta a linha (´+Edit1.Text+´,´+Edit2.Text+´)´) e que seja somente o conteúdo dos edit´s que você queira acrescentar.

Existem algumas maneiras corretas de fazer o desejado. Uma delas seria:

qryFone.Active := False; // ou qryFone.Close;

// estou usando ¬s porque ´Codigo´ e ´Nome´ são strings - veja o help da função Format - e/ou ´Format strings´
qryFone.Text := Format(´Insert into TBFone (Codigo, Nome) values (¬s, ¬s), [edit1.text, edit2.text]);

qryFone.ExecSQL;

outra maneira, mais usual, através de parâmetros:

with qryFone do
begin
Close;
SQL.Clear;
SQL.Add(´Insert into TBFone (Codigo, Nome) values (:par1, :par2)´;
SQL.ParamByName(´par1´).asString := edit1.text;
SQL.ParamByName(´par2´).asString := edit2.text;

ExecSQL;
end;

Espero que seja isso e ter ajudado!


GOSTEI 0
Fabio.hc

Fabio.hc

26/10/2003

Bem eu começei a trabalhar agora com Delphi, estou utilizando o componente Query com o nome Cad e tentado salvar alguns dados dentro de banco de dados Paradox como segue abaixo só que não da certo qual é o meu erro? CAD.Open; CAD.Active := FALSE; CAD.SQL.Clear; CAD.SQL.Add(´INSERT INTO TBFone(CODIGO, NOME) values (´+Edit1.Text+´,´+Edit2.Text+´)´); CAD.ExecSQL; CAD.Active := TRUE; CAD.Close;


Vc pode tentar assim também:
CAD.SQL.Add(´INSERT INTO TBFone(CODIGO, NOME) values (´+QuotedStr(Edit1.Text)+´,´+QuotedStr(Edit2.Text)+´)´);

e excluir esta linha
CAD.Active := TRUE;


GOSTEI 0
POSTAR