Consulta SQL
25/07/2008
0
1. Tenho uma Tabela teste chamada hahaha
3. Tenho 2 Campos Nesta Tabela,
o 1º é Chave Primária com AutoIncrement, tipo INT com limite de 4 digitos chamado COD
o 2º é um campo teste chamado HU.
Tenho um programa teste que insere o valor digitado no edit1.text nessa tabela no campo hu quando aperta um determinado botão.
após o código deste botão para inserir o codigo em hu
DM.SQLQuery1.Active := False; DM.SQLQuery1.SQL.Clear; DM.SQLQuery1.SQL.Add(´insert into hahaha (hu) values (´+´´´´+edit1.Text+´´´´+´) ´); DM.SQLQuery1.ExecSQL;
após esse código, tenho um outro nesse mesmo botão que deveria jogar o valor que o mysql atribui (ele atribui, não tenho dúvidas) ao campo COD (auto increment) noutro compronete chamado label.
o código é o seguinte :
DM.SQLQuery1.Active := False; dm.SQLQuery1.SQL.Clear; dm.SQLQuery1.SQL.Add(´SELECT Cod FROM hahaha WHERE hu = :´+´´´´+edit1.Text+´´´´+´´); dm.SQLQuery1.ParamByName(´cod´).AsInteger:= Codvar; dm.SQLQuery1.Open; label1.caption:=inttostr(codvar);
porém, quando eu insiro o valor no campo e aperto o botão, o erro:
Paramter COD Não Found
se dá e
o delphi da um break na linha
label1.caption:=inttostr(codvar);
do script.
Obs.: O Valor Declarado no Edit1 É Inserido na Tabela com Sucesso.
Estou tentando de todas as maneiras outra solução para este problema e não consigo, se alguem puder me ajudar, eu serei grato.
Czao
Posts
25/07/2008
Marco Salles
DM.SQLQuery1.Active := False; dm.SQLQuery1.SQL.Clear; dm.SQLQuery1.SQL.Add(´SELECT Cod FROM hahaha WHERE hu = ´+QuotedStr(edit1.Text)); dm.SQLQuery1.Open; label1.caption:=dm.SQLQuery1.fieldbyname(´COD´).AsString;
que ira funcionar ....
Mas da para fazer tudo isso com apenas um Sql ... não precisa fazer duas conexões ...
25/07/2008
Czao
o campo hu é varchar
e cod é int
tentei esse código que você postou e uma adaptação que eu fiz :
DM.SQLQuery1.Active := False; dm.SQLQuery1.SQL.Clear; dm.SQLQuery1.SQL.Add(´SELECT Cod FROM hahaha WHERE hu = ´+QuotedStr(edit1.Text)); dm.SQLQuery1.Open; codvar:=dm.SQLQuery1.fieldbyname(´COD´).AsInteger; label1.caption:=inttostr(codvar);
sendo codvar uma variável integer.
25/07/2008
Marco Salles
DM.SQLQuery1.Active := False; dm.SQLQuery1.SQL.Clear; dm.SQLQuery1.SQL.Add(´SELECT Cod FROM hahaha WHERE hu = ´+QuotedStr(edit1.Text)); dm.SQLQuery1.Open; label1.caption:=dm.SQLQuery1.fieldbyname(´COD´).AsString;
tem erro não .... a não ser voce esteja usando o codigo sem ter adicionado um registro na base de dados com o valor do conteudo
do edit.text... Ai sim , tera um problema de conversão . Pois
dm.SQLQuery1.fieldbyname(´COD´).AsString tera RETORNO nULO
devido a clausu-la Where ... [b:fe35e675df]Verifique isto [/b:fe35e675df]
Clique aqui para fazer login e interagir na Comunidade :)