Erro com SQL
17/07/2008
0
Código:
procedure TFrmCadastro.BtnSalvarTipoClick(Sender: TObject); begin qrycadcategoria.Close; sql := ´INSERT INTO CLASSIFICACAO (CDCLASSIFICACAO, NMCLASSIFICACAO)´+ ´ VALUES (´ + edit1.Text + ´,´+ ´"´ + edit2.Text +´" )´; ibqrycadcategoria.SQl.text:= sql; ibqrycadcategoria.Active:= true; ibqrycadcategoria.Open; end; end.
Erro:
[URL=http://img235.imageshack.us/my.php?image=errofs7.jpg][img:ecad5ea488]http://img235.imageshack.us/img235/4198/errofs7.th.jpg[/img:ecad5ea488][/URL]
O edit1.text esta igual a 2, e o edit2.text esta igual a Teste.
Alguem pode me ajudar?
Estou usando um IBdatabase, um IBtransiction , uma IBquery e um Datasource
Gabriel301
Posts
17/07/2008
Ferreia2
17/07/2008
Gabriel301
poribqrycadcategoria.execsql
Continua dando o mesmo erro!
17/07/2008
Joaoshi
procedure TFrmCadastro.BtnSalvarTipoClick(Sender: TObject); begin qrycadcategoria.Close; sql := ´INSERT INTO CLASSIFICACAO (CDCLASSIFICACAO, NMCLASSIFICACAO)´+ ´ VALUES (´ + edit1.Text + ´,´+ ´"´ + edit2.Text +´" )´; ibqrycadcategoria.SQl.text:= sql; ibqrycadcategoria.Active:= true; // apague esta linha ibqrycadcategoria.execsql; end;
Espero ter ajudado.
17/07/2008
Gabriel301
No erro, ele fala que a coluna é desconhecida. Só que parece que ele está colocando como o nome da coluna o valor do edit2.text.
17/07/2008
Joaoshi
Se não tiver problema com os nomes dos componentes, coloque um edit no formulário e veja o que esta sendo carregado no sql.
Edit.Text := sql;
Espero ter ajudado.
17/07/2008
Gabriel301
O conteúdo do SLQ é esse:
INSERT INTO CLASSIFICACAO (CDCLASSIFICACAO, NMCLASSIFICACAO) VALUES (2,´Teste´ )
Lembrando que CDCLASSIFICACAO é inteiro e NMCLASSIFICACAO é String.
17/07/2008
Joaoshi
17/07/2008
Gabriel301
Alguém dá uma olhada pra mim?
A unit é Ucadastro, e a aba do formulário é Tipos de Materiais
Fonte:
http://rapidshare.com/files/130506443/Prot_tipo.rar.html
Obrigado.
17/07/2008
Joaoshi
procedure TFrmCadastro.BtnSalvarTipoClick(Sender: TObject); begin ibqrycadcategoria.Close; ibqrycadcategoria.sql.clear; sql := ´INSERT INTO CLASSIFICACAO (CDCLASSIFICACAO, NMCLASSIFICACAO)´+ ´ VALUES (´ + edit1.Text + ´,´+ ´"´ + edit2.Text +´" )´; ibqrycadcategoria.SQl.text:= sql; ibqrycadcategoria.ExecSql; end;
Precisa verificar se não esta utilizando um componente com campos já criados.
Lamento não poder ajudar mais.
18/07/2008
Mazzi
-nome dos campos,
-integridade da tabela e de algum relacionamento;
e tente passar a string com o uso de QuotedStr
ex:
Insert into Tabela (codigo, nome) Values(´+txtcodigo.txt+´,´+ Quotedstr(txtNome.text)+ ´)´ );
Ou passe por paramentros
Insert into tabela (codigo, nome) Values (:pcod, :pnome);
query.paramByName(´pcodi´).value:= txtCodigo.text;
query.paramByName(´pnome´).value:= txtNome.text;
query.execSQl;
Clique aqui para fazer login e interagir na Comunidade :)