passar valor para parametro em instrucao SQL
12/01/2006
0
varcodigo := DataModule1.ClientDataSet1.FieldValues[´CODIGO´];
DataModule1.SQLDataSet2.CommandText := ´SELECT * FROM HISTORICO_PACIENTES WHERE CODIGO=:c_varcodigo);
DataModule1.SQLDataSet2.ParamByName(´c_varcodigo´).asinteger := varcodigo;
DataModule1.SQLDataSet2.ExecSQL;
Joe_wah
Posts
12/01/2006
Eixox
varcodigo := DataModule1.ClientDataSet1.FieldValues[´CODIGO´]; DataModule1.SQLDataSet2.CommandText := ´SELECT * FROM HISTORICO_PACIENTES WHERE CODIGO=:c_varcodigo); DataModule1.SQLDataSet2.ParamByName(´c_varcodigo´).asinteger := varcodigo; DataModule1.SQLDataSet2.ExecSQL;
function TForm1.Teste: Integer;
var
Codigo : Integer;
Varr : Integer;
begin
SQLDataSet1.Active := False;
Codigo := SQLDataSet2.FieldValues[´CODCLI´];
SQLDataSet1.CommandText := ´´;
SQLDataSet1.CommandText := ´Select * from clientes where codcli = :pcodigo´;
SQLDataSet1.ParamByName(´pcodigo´).AsInteger := Codigo;
SQLDataSet1.Active := True;
Varr := SQLDataSet1CODCLI.Value;
Result := Varr;
end;
Eu fiz uma função e retornou corretamente o resultado. Bem verifique se o valor que está sendo atribuído a sua primeira variável corresponde exatamente ao tipo ou tente deixar o seu código mais ou menos igual a minha função que obrigatoriamente tem que funcionar.
12/01/2006
Joe_wah
DataModule1.SQLDataSet2.CommandText := ´SELECT * FROM HISTORICO_PACIENTES WHERE CODIGO=:c_varcodigo´;
DataModule1.SQLDataSet2.ParamByName(´c_varcodigo´).asinteger := 34;
Mas isso abaixo nao funciona ( e posso dar certeza que a variavel ´varcodigo´ esta com o valor certo que deveria), a unica diferenca é q mudie o 34 para variavel varcodigo
DataModule1.SQLDataSet2.CommandText := ´SELECT * FROM HISTORICO_PACIENTES WHERE CODIGO=:c_varcodigo´;
DataModule1.SQLDataSet2.ParamByName(´c_varcodigo´).asinteger := varcodigo;
12/01/2006
Joe_wah
13/01/2006
Eixox
Mande na íntegra o seu código para que eu possa ver o que você está fazendo.
13/01/2006
Martins
varcodigo := DataModule1.ClientDataSet1.FieldByName(´CODIGO´).AsInteger; DataModule1.SQLDataSet2.CommandText := ´SELECT * FROM HISTORICO_PACIENTES WHERE CODIGO=:c_varcodigo´; DataModule1.SQLDataSet2.ParamByName(´c_varcodigo´).asinteger := varcodigo; DataModule1.SQLDataSet2.ExecSQL;
Ou então post o q foi pedido pelo eixox!!
Clique aqui para fazer login e interagir na Comunidade :)