Fórum ERRO AO FAZER SELECT! #204633
06/01/2004
0
Ao abrir um formulário preciso q o query receba um comando sql então utilizo esse codigo:
qryVerificaConta.Active := true; //Começa a inserção dos dados no Banco if (traVerificaConta.InTransaction) then traVerificaConta.commit; traVerificaConta.StartTransaction; with qryVerificaConta do begin Close; with SQL do begin Clear; Add(´select * from (HOSPEDE inner join CONTA on HOSPEDE.COD_HOSP = CONTA.COD_HOSP)´); Add(´inner join DESCRICAO_PRODUTO on DESCRICAO_PRODUTO.COD_CONT = CONTA.COD_CONT´); add(´where COD_HOSP=´ + txtCodHosp.text ); end; end; try qryVerificaConta.Prepare; qryVerificaConta.ExecSQL; except on E: EIBError do begin traVerificaConta.Rollback; MessageDlg(Format(´¬s [¬d; ¬d]´, [E.message, E.SQLCode, E.IBErrorCode]),mtError,[mbOK],0); Abort; Exit; end; end; //Finalizando a transação com efetivação das modificações traVerificaConta.Commit; //refresh hospede with qryVerificaConta do begin close; Prepare; dmCondominio.idbCondominio.Close; dmCondominio.idbCondominio.Open; open; end;
O problema é q quando executo o programa acusa este erro:
[b:2088f38297][size=18:2088f38297][color=red:2088f38297]use OPEN for a Select Statement[66;0][/color:2088f38297][/size:2088f38297][/b:2088f38297]
Alguem poderia me ajudar?
Douglasf
Curtir tópico
+ 0Posts
06/01/2004
Douglasf
o erro q falei não acusa mais porem apareceu outro, este aqui:
[size=18:7f29738f48][color=red:7f29738f48]Unexpected en of comand[-104;33554469][/color:7f29738f48][/size:7f29738f48]
Gostei + 0
18/02/2016
Thiago Santos
procedure TfrmGTabPrecos.btnBuscaPrecoClick(Sender: TObject);
var
BUSCA : string;
begin
with dmSisConsult do
begin
BUSCA := '';
BUSCA := BUSCA + ' SELECT CATEG, CODIGO, CONSULTA, GRUPO, ID_CATEG, ID_GRUPPROC, OBS, VALOR FROM VTABPRECOS ';
BUSCA := BUSCA + ' WHERE CONSULTA LIKE ' + QuotedStr('%' + edtBuscaPreco.Text + '%');
qryConsulta.Close;
qryConsulta.SQL.Clear;
qryConsulta.SQL.Add( BUSCA );
qryConsulta.Prepared := True;
qryConsulta.ExecSQL;
end
end;
no caso estou tentando buscar da tabela vtab precos o campo consulta
e da o seguinte erro "use open for a select statement"
Gostei + 0
18/02/2016
Rafael Bosco
Outra coisa, sugiro você alterar o seu código de BUSCA, exemplo:
var
Busca: String;
begin
with dmSisConsult do
begin
Busca := 'SELECT CATEG, CODIGO, CONSULTA, GRUPO, ID_CATEG, ID_GRUPPROC, OBS, VALOR FROM VTABPRECOS' + sLineBreak +
'WHERE CONSULTA LIKE' + QuotedStr('%' + edtBuscaPreco.Text + '%');
//você não precisa setar uma string recém declarada para vazio, pois, por padrão ela já está vazia.
//e o sLineBreak já faz a quebra da linha, sem precisar, recompor o código novamente.
qryConsulta.Close;
qryConsulta.SQL.Clear;
qryConsulta.SQL.Add(Busca);
qryConsulta.Prepared := True;
qryConsulta.Open();
end;
end;
Gostei + 0
19/02/2016
Thiago Santos
tem o meu skype tcs2012_cr7.rbr@hotmail.com
obrigado
Gostei + 0
19/02/2016
Thiago Santos
tem o meu skype tcs2012_cr7.rbr@hotmail.com
obrigado
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)