Como pegar informação do BD Delphi 7

01/04/2016

0

Pessoal,como faço para adicionar algum campo do banco de dados dentro desse codico, uso o RDPRINT

preciso puxa uma a informação do Codico da venda dentro desse cupom
{==========================================================================}
{============================= IMPRESSAO DO CABEÇALHO =====================}
{==========================================================================}
if dm.IBTransaction.Active then
dm.IBTransaction.Commit;
dm.IBTransaction.StartTransaction;
with dm.QConsulta do
begin
close;
sql.Clear;
sql.Add('SELECT RAZAO_EMP, CNPJ_EMP, INSC_EMP, END_EMP, BAI_EMP, CID_EMP, EST_EMP, CEP_EMP ' +
'FROM EMPRESA WHERE COD_EMP = :CODEMP');
Parambyname('codemp').AsInteger:= iEmp;
Open;
RDprint.ImpC(1, 28, trim(FieldByName('RAZAO_EMP').AsString), []);
RDprint.ImpC(2, 28, trim(FieldByName('end_emp').AsString) + ', ' + trim(FieldByName('bai_emp').AsString), []);
RDprint.ImpC(3, 28, trim(FieldByName('cid_emp').AsString) + '-' + trim(FieldByName('est_emp').AsString) + ' CEP:' + trim(FieldByName('cep_emp').AsString), []);
RDprint.Imp(4, 1, 'CNPJ: ' + fieldbyname('cnpj_emp').AsString);
RDprint.Imp(5, 1, 'IE: ' + fieldbyname('insc_emp').AsString);
end;
dm.IBTransaction.Commit;
dm.QConsulta.Close;

RDprint.Imp(6, 1, '-----------------------------------------------------');
RDprint.Imp(7, 1, QConsVendasDATA_VEN.AsString + ' ' +
QConsVendasHORA.AsString + ' CCF:' +
FormataStringD(QConsVendasR04_CCF.AsString, '6', '0') +
' COO:' + FormataStringD(QConsVendasCUPOM_FISCAL_VEN.AsString, '6', '0') +
' ECF:' + FormataStringD(QConsVendasCOD_CAI.AsString, '3', '0'));
RDprint.Imp(8, 1, ' ');
RDprint.ImpC(9, 28, '2ª VIA - CUPOM FISCAL', []);
RDprint.Imp(10, 1, '-----------------------------------------------------');

{==========================================================================}
{================================= ITENS DA VENDA =========================}
{==========================================================================}
iLinha:= 11;
RDprint.imp(iLinha, 1, 'Item Codigo Desc. Quant. Unit. Total');
RDprint.imp(iLinha, 1, '-----------------------------------------------------');
inc(iLinha);
cAuxTotal:= 0;

if dm.IBTransaction.Active then
dm.IBTransaction.Commit;
dm.IBTransaction.StartTransaction;
with QBuscaItens do
begin
close;
Parambyname('codven').AsInteger:= QConsVendasCOD_VEN.AsInteger;
Open;
DisableControls;
First;
while not eof do
begin
RDprint.Imp(iLinha, 1, FormataStringD(QBuscaItensORDEM.AsString, '3', '0'));
RDprint.Imp(iLinha, 6, FormataStringD(QBuscaItensCODIGO_BARRA_PRO.AsString, '14', '0'));
RDprint.Imp(iLinha, 21, copy(trim(QBuscaItensNOME_PRO.AsString), 1, 30));
inc(iLinha);
RDprint.ImpVal(iLinha, 27, '#,##0.00', QBuscaItensQUANT.AsCurrency, []);
RDprint.ImpVal(iLinha, 36, '#,##0.00', QBuscaItensVALOR.AsCurrency, []);
RDprint.ImpVal(iLinha, 46, '#,##0.00', QBuscaItensCALC_TOTAL.AsCurrency, []);
Argos Oliveira

Argos Oliveira

Responder

Post mais votado

02/04/2016

O certo é passar o parametro antes do "Open;" mesmo. Ou...


dm.QConsulta.close;
dm.QConsulta.sql.Text := Format('SELECT RAZAO_EMP, CNPJ_EMP, INSC_EMP, END_EMP, BAI_EMP, CID_EMP, EST_EMP, CEP_EMP FROM EMPRESA WHERE COD_EMP = %d', [iEmp]);
dm.QConsulta.Open;

Raylan Zibel

Raylan Zibel
Responder

Mais Posts

01/04/2016

Raylan Zibel

Adicione o campo na lista de campos:
sql.Add('SELECT RAZAO_EMP, CNPJ_EMP, INSC_EMP, END_EMP, BAI_EMP, CID_EMP, EST_EMP, CEP_EMP, CAMPO_DE_TESTE_QUE_NAO_TINHA_ANTES '...


Use o campo novo:
RDprint.ImpC(1, 28, trim(FieldByName('CAMPO_DE_TESTE_QUE_NAO_TINHA_ANTES').AsString), []);
Responder

01/04/2016

Raylan Zibel

Agora, se tu não manja nada de Delphi, pague um profissional.
Responder

01/04/2016

Argos Oliveira

Eis á Questão esotu em aprendizagem, segue informação, coloquei o codico fonte dessa maneira
{==========================================================================}
{============================= IMPRESSAO DO CABEÇALHO =====================}
{==========================================================================}
if dm.IBTransaction.Active then
dm.IBTransaction.Commit;
dm.IBTransaction.StartTransaction;
with dm.QConsulta do
begin
close;
sql.Clear;
sql.Add('SELECT RAZAO_EMP, CNPJ_EMP, INSC_EMP, END_EMP, BAI_EMP, CID_EMP, EST_EMP, CEP_EMP,COD_VEND' +
'FROM EMPRESA WHERE COD_EMP = :CODEMP');
Parambyname('codemp').AsInteger:= iEmp;
Open;

RDprint.ImpC(1, 28, trim(FieldByName('COD_VEN').AsString), []);
RDprint.ImpC(2, 28, trim(FieldByName('end_emp').AsString) + ', ' + trim(FieldByName('bai_emp').AsString), []);
RDprint.ImpC(3, 28, trim(FieldByName('cid_emp').AsString) + '-' + trim(FieldByName('est_emp').AsString) + ' CEP:' + trim(FieldByName('cep_emp').AsString), []);
RDprint.Imp(4, 1, 'CNPJ: ' + fieldbyname('cnpj_emp').AsString);
RDprint.Imp(5, 1, 'IE: ' + fieldbyname('insc_emp').AsString);
Responder

01/04/2016

Argos Oliveira

Tentei roda á Aplicação, e deu o seguinte erro..


[img]http://arquivo.devmedia.com.br/forum/imagem/379287-20160401-173923.png[/img]
Responder

01/04/2016

Argos Oliveira

tem como me ajudar, preciso colocar um campo no cupom nao fiscal, mas esta dando erro
Responder

01/04/2016

Raylan Zibel

sql.Add('SELECT RAZAO_EMP, CNPJ_EMP, INSC_EMP, END_EMP, BAI_EMP, CID_EMP, EST_EMP, CEP_EMP,COD_VEND' +
' FROM EMPRESA WHERE COD_EMP = :CODEMP');

faltou um espaço só eu acho...
Responder

02/04/2016

Raimundo Pereira

with dm.QConsulta do
begin
close; //Fechou
sql.Clear;//Limpou
sql.Add('SELECT RAZAO_EMP, CNPJ_EMP, INSC_EMP, END_EMP, BAI_EMP, CID_EMP, EST_EMP, CEP_EMP ' +
'FROM EMPRESA WHERE COD_EMP = :CODEMP'); //add
Parambyname('codemp').AsInteger:= iEmp; //Tenda edit sem realizar o open?
Open;

Tente
Open;
Parambyname('codemp').AsInteger:= iEmp; //Tenda edit sem realizar o open?
Responder

02/04/2016

Raimundo Pereira

Realmente é correto
O certo é passar o parametro antes do "Open;" mesmo. Ou...
dm.QConsulta.close;
dm.QConsulta.sql.Text := Format('SELECT RAZAO_EMP, CNPJ_EMP, INSC_EMP, END_EMP, BAI_EMP, CID_EMP, EST_EMP, CEP_EMP FROM EMPRESA WHERE COD_EMP = %d', [iEmp]);
dm.QConsulta.Open;


iEmp é uma variavel, a mesma está sendo alimentada em qual momento?
É melhor debugar o código
Responder

02/04/2016

Argos Oliveira

COLOQUEI A OPERAÇÃO, MAS JA NÃO APAREÇE OS DADOS DA EMPRESA
Responder

02/04/2016

Argos Oliveira

COM ESSE CODÍCO ELE PUXOU
               sql.Add('SELECT RAZAO_EMP, CNPJ_EMP, INSC_EMP, END_EMP, BAI_EMP, CID_EMP, EST_EMP, CEP_EMP ' +
                       'FROM EMPRESA WHERE COD_EMP = :CODEMP');
               Parambyname('codemp').AsInteger:= iEmp;
               dm.QConsulta.Open;
               RDprint.ImpC(1, 28, trim(FieldByName('RAZAO_EMP').AsString), []);
               RDprint.ImpC(2, 28, trim(FieldByName('end_emp').AsString) + ', ' + trim(FieldByName('bai_emp').AsString), []);
               RDprint.ImpC(3, 28, trim(FieldByName('cid_emp').AsString) + '-' + trim(FieldByName('est_emp').AsString) + ' CEP:' + trim(FieldByName('cep_emp').AsString), []);
               RDprint.Imp(4, 1, 'CNPJ: ' + fieldbyname('cnpj_emp').AsString);
               RDprint.Imp(5, 1, 'IE: ' + fieldbyname('insc_emp').AsString);


EU ESTAVA USANDO ERRADO , COLOCANDO O "PARAMBYNAME" DEPOIS DO dm.QConsulta.Open;

Agora á questão e esa aqui,
             sql.Add('SELECT RAZAO_EMP, COD_VEN, [img]http://arquivo.devmedia.com.br/forum/imagem/379287-20160402-115151.png[/img]CNPJ_EMP, INSC_EMP, END_EMP, BAI_EMP, CID_EMP, EST_EMP, CEP_EMP ' +
                       'FROM EMPRESA WHERE COD_EMP = :CODEMP');
                                            RDprint.ImpC(1, 28, trim(FieldByName('COD_VEN').AsString), []);
Responder

02/04/2016

Argos Oliveira

               sql.Add('SELECT RAZAO_EMP, COD_VEN, CNPJ_EMP, INSC_EMP, END_EMP, BAI_EMP, CID_EMP, EST_EMP, CEP_EMP ' +
                       'FROM EMPRESA WHERE COD_EMP = :CODEMP');
               Parambyname('codemp').AsInteger:= iEmp;
               dm.QConsulta.Open;
               RDprint.ImpC(1, 28, trim(FieldByName('COD_VEN').AsString), []);
               RDprint.ImpC(2, 28, trim(FieldByName('end_emp').AsString) + ', ' + trim(FieldByName('bai_emp').AsString), []);
               RDprint.ImpC(3, 28, trim(FieldByName('cid_emp').AsString) + '-' + trim(FieldByName('est_emp').AsString) + ' CEP:' + trim(FieldByName('cep_emp').AsString), []);
               RDprint.Imp(4, 1, 'CNPJ: ' + fieldbyname('cnpj_emp').AsString);
               RDprint.Imp(5, 1, 'IE: ' + fieldbyname('insc_emp').AsString);


Codico correto, mas tento roda a aplicação e puxa o cupom, e nao da o campo COD_VEN
Responder

02/04/2016

Raylan Zibel

Possivelmente é por que o campo "COD_VEN" não é da tabela "EMPRESA".
Responder

02/04/2016

Argos Oliveira

então, eu teria que adicionar sql.Add?
Responder

02/04/2016

Raylan Zibel

então, eu teria que adicionar sql.Add?


Não. Voce precisa identificar de que tabela esse campo pertence e fazer um Select pra trazer essa informação. Aí já é conhecimentos de SQL.

Se voce vai fazer outro Select, fazer um Join, usar um LookupFIeld, aí já é com você.

O ideal é voce aprender a desenvolver antes de meter a mão na massa...
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar