Como pegar informação do BD Delphi 7
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
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, []);
{============================= 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
Curtidas 0
Melhor post
Raylan Zibel
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;
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;
GOSTEI 1
Mais Respostas
Raylan Zibel
01/04/2016
Adicione o campo na lista de campos:
Use o campo novo:
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), []);
GOSTEI 0
Raylan Zibel
01/04/2016
Agora, se tu não manja nada de Delphi, pague um profissional.
GOSTEI 0
Argos Oliveira
01/04/2016
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);
{============================= 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);
GOSTEI 0
Argos Oliveira
01/04/2016
Tentei roda á Aplicação, e deu o seguinte erro..
[img]http://arquivo.devmedia.com.br/forum/imagem/379287-20160401-173923.png[/img]
[img]http://arquivo.devmedia.com.br/forum/imagem/379287-20160401-173923.png[/img]
GOSTEI 0
Argos Oliveira
01/04/2016
tem como me ajudar, preciso colocar um campo no cupom nao fiscal, mas esta dando erro
GOSTEI 0
Raylan Zibel
01/04/2016
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...
GOSTEI 0
Raimundo Pereira
01/04/2016
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?
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?
GOSTEI 0
Raimundo Pereira
01/04/2016
Realmente é correto
iEmp é uma variavel, a mesma está sendo alimentada em qual momento?
É melhor debugar o código
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;
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
GOSTEI 1
Argos Oliveira
01/04/2016
COLOQUEI A OPERAÇÃO, MAS JA NÃO APAREÇE OS DADOS DA EMPRESA
GOSTEI 0
Raimundo Pereira
01/04/2016
Me manda a estrutura da sua tabela.
Vou Testar aqui
Vou Testar aqui
GOSTEI 1
Argos Oliveira
01/04/2016
COM ESSE CODÍCO ELE PUXOU
EU ESTAVA USANDO ERRADO , COLOCANDO O "PARAMBYNAME" DEPOIS DO dm.QConsulta.Open;
Agora á questão e esa aqui,
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), []);
GOSTEI 0
Argos Oliveira
01/04/2016
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
GOSTEI 0
Raylan Zibel
01/04/2016
Possivelmente é por que o campo "COD_VEN" não é da tabela "EMPRESA".
GOSTEI 1
Argos Oliveira
01/04/2016
então, eu teria que adicionar sql.Add?
GOSTEI 0
Raylan Zibel
01/04/2016
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...
GOSTEI 0
Argos Oliveira
01/04/2016
E por que na verdade, estou estudando o codico..
GOSTEI 0