Qual é o meu erro neste SQL?
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;
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
Curtidas 0
Respostas
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!
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
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