Guest robinhotbo Postado Junho 6, 2007 Denunciar Share Postado Junho 6, 2007 Project sistemacfc.exe raised exception class EIBInterBaseError with messade 'Dynamic SQL Error SQL error code = -104Token unknow - line 1, char 442,'. Process stopped. Use Step or Run to continue.Alguém pode me ajudar, não consiguo descubrir onde esta este erro. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Junho 7, 2007 Denunciar Share Postado Junho 7, 2007 OpaVocê tem alguma instrução SQL onde há algum tipo de erro de sintaxe...Segundo a mensagem o erro está na linha 1 dessa instrução...Após dar OK no erro o Delphi normalmente aponta onde deu o erro, dauma olhada nas suas instruções SQL...Provavelmente é isto...abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest robinhotbo Postado Junho 8, 2007 Denunciar Share Postado Junho 8, 2007 Obrigado pela dica, mas amigo não cosegui localizar ainda. Se alguém poder me ajudar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Jonas -- Postado Junho 8, 2007 Denunciar Share Postado Junho 8, 2007 Project sistemacfc.exe raised exception class EIBInterBaseError with messade 'Dynamic SQL Error SQL error code = -104Token unknow - line 1, char 442,'. Process stopped. Use Step or Run to continue.Alguém pode me ajudar, não consiguo descubrir onde esta este erro.Veja se no comando da SQL , no final da linha 1 não tem uma virgula, se tiver tire-a e deixe um espaço em branco esse erro siginifica que existe um caracter desconhecido no final da linha. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest robinhotbo Postado Junho 8, 2007 Denunciar Share Postado Junho 8, 2007 (editado) Mais uma vez obrigado pela dica, mas ainda não consiguo achar esse erro.olhe o arquivo todo.> Se alguém achar me fala, por favor: :unsure: unit falunos; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, fpadrao, StdCtrls, psvBasiclbl, psvBorderLabel, Buttons, ExtCtrls, Mask, ComCtrls, TabNotBk, Grids, DBGrids, WinSkinData, psvLinkedLabel; type Tfrmalunos = class(Tfrmpadrao) Panel3: TPanel; txtdtca: TEdit; PageControl2: TPageControl; TabSheet3: TTabSheet; psvBorderLabel13: TpsvBorderLabel; psvBorderLabel30: TpsvBorderLabel; psvBorderLabel31: TpsvBorderLabel; psvBorderLabel29: TpsvBorderLabel; psvBorderLabel28: TpsvBorderLabel; psvBorderLabel12: TpsvBorderLabel; psvBorderLabel11: TpsvBorderLabel; psvBorderLabel27: TpsvBorderLabel; psvBorderLabel26: TpsvBorderLabel; psvBorderLabel10: TpsvBorderLabel; psvBorderLabel9: TpsvBorderLabel; psvBorderLabel8: TpsvBorderLabel; psvBorderLabel7: TpsvBorderLabel; psvBorderLabel24: TpsvBorderLabel; psvBorderLabel25: TpsvBorderLabel; psvBorderLabel23: TpsvBorderLabel; psvBorderLabel22: TpsvBorderLabel; psvBorderLabel6: TpsvBorderLabel; psvBorderLabel5: TpsvBorderLabel; psvBorderLabel20: TpsvBorderLabel; psvBorderLabel21: TpsvBorderLabel; psvBorderLabel4: TpsvBorderLabel; cbocid: TComboBox; txtuf: TEdit; txtcep: TMaskEdit; txtcom: TEdit; txtbai: TEdit; txtnum: TEdit; txtend: TEdit; txtcon: TEdit; txtcel: TMaskEdit; txtres: TMaskEdit; txtmae: TEdit; txtpai: TEdit; txtnat: TEdit; txtuf1: TEdit; txtcat: TEdit; txtcnh: TEdit; txtcpf: TMaskEdit; txtrg: TEdit; txtuf2: TEdit; cboorg: TComboBox; txtnom: TEdit; TabSheet4: TTabSheet; psvBorderLabel42: TpsvBorderLabel; psvBorderLabel48: TpsvBorderLabel; psvBorderLabel45: TpsvBorderLabel; psvBorderLabel46: TpsvBorderLabel; psvBorderLabel44: TpsvBorderLabel; psvBorderLabel41: TpsvBorderLabel; psvBorderLabel40: TpsvBorderLabel; psvBorderLabel39: TpsvBorderLabel; psvBorderLabel38: TpsvBorderLabel; psvBorderLabel43: TpsvBorderLabel; psvBorderLabel47: TpsvBorderLabel; txttele: TMaskEdit; txtramal: TEdit; txtcep1: TMaskEdit; txtuf3: TEdit; txtbairro: TEdit; txtnume: TEdit; txtpro: TEdit; txtende: TEdit; txtemp: TEdit; txtcompl: TEdit; cbocida: TComboBox; TabSheet5: TTabSheet; TabSheet6: TTabSheet; DBGrid1: TDBGrid; TabSheet7: TTabSheet; DBGrid2: TDBGrid; TabSheet8: TTabSheet; memobs: TMemo; TabSheet9: TTabSheet; DBGrid5: TDBGrid; TabSheet10: TTabSheet; DBGrid4: TDBGrid; psvBorderLabel1: TpsvBorderLabel; psvBorderLabel2: TpsvBorderLabel; psvBorderLabel3: TpsvBorderLabel; txtcth: TEdit; rdbhab: TRadioButton; txtmat: TEdit; rdbalt: TRadioButton; psvBorderLabel19: TpsvBorderLabel; txtdat: TEdit; txtctr: TEdit; rdbren: TRadioButton; txtcta: TEdit; psvLinkedLabel1: TpsvLinkedLabel; psvLinkedLabel2: TpsvLinkedLabel; psvBorderLabel14: TpsvBorderLabel; psvBorderLabel15: TpsvBorderLabel; psvBorderLabel16: TpsvBorderLabel; psvBorderLabel17: TpsvBorderLabel; psvBorderLabel18: TpsvBorderLabel; txtcodi: TEdit; spdloc: TSpeedButton; txtproc: TEdit; SpeedButton1: TSpeedButton; BitBtn1: TBitBtn; txtusu: TEdit; psvBorderLabel32: TpsvBorderLabel; txtemi: TMaskEdit; txtla: TEdit; txtabe: TMaskEdit; txtvenc: TMaskEdit; txtnas: TMaskEdit; procedure spbnovClick(Sender: TObject); procedure spbsalClick(Sender: TObject); procedure spbexcClick(Sender: TObject); procedure spbpesClick(Sender: TObject); procedure leregistro(); procedure cbocidExit(Sender: TObject); Procedure FormShow(Sender: TObject); procedure cbocidaChange(Sender: TObject); procedure spdlocClick(Sender: TObject); procedure txtnasExit(Sender: TObject); procedure txtabeExit(Sender: TObject); procedure txtvencExit(Sender: TObject); procedure txtemiExit(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmalunos: Tfrmalunos; implementation {$R *.dfm} uses funcoes, fprincipal, fdtmiza, fpesquisa; procedure Tfrmalunos.spbnovClick(Sender: TObject); begin inherited; Txtmat.Text := ProximoCodigo ('alunos', 'Codigo'); TxtDat.Text := FormatDateTime ('dd/mm/yyyy', Date ()); TxtCPF.Text := '0'; TxtCEP.Text := '0'; TxtRes.Text := '0'; TxtCel.Text := '0'; rdbhab.SetFocus; end; procedure Tfrmalunos.spbsalClick(Sender: TObject); begin with vcpo do begin clear; add ('dtcadastro'); add ('servicos'); add ('categoria'); add ('nome'); add ('rg'); add ('uf_rg'); add ('emissor'); add ('cpf'); add ('dtnascimento'); add ('naturalidade'); add ('mae'); add ('pai'); add ('residencial'); add ('celular'); add ('contato'); add ('cidade'); add ('uf_cid'); add ('cep'); add ('endereco'); add ('numero'); add ('bairro'); add ('complemento'); add ('profissao'); add ('empresa'); add ('cidadess'); add ('uf_pro'); add ('ceps'); add ('enderecos'); add ('numeros'); add ('bairros'); add ('complementos'); add ('telefone'); add ('ramal'); add ('atendente'); add ('processos'); if edata (txtabe.Text)then add ('dt_abe'); add ('lic_aprendizagem'); add ('observacoes'); if edata (txtvenc.Text)then add ('dt_venc'); if edata (txtemi.Text)then add ('dt_emi'); end; with vvlr do begin clear; Add ('Current_Date'); if (rdbhab.checked) then add ('1') else if (rdbalt.checked) then add('2') else if (rdbren.checked) then add('3'); add (#39 + txtnom.Text + #39); add (#39 + txtrg.Text + #39); add (#39 + txtuf2.Text + #39); add (#39 + cboorg.Text + #39); Add (TiraMascara (TxtCPF.Text)); add (tiramascara (txtcnh.Text)); add (#39 + txtcat.Text + #39); Add (#39 + FormatDateTime ('mm/dd/yyyy', StrToDate (txtnas.Text)) + #39); add (#39 + txtnat.Text + #39); add (#39 + txtuf1.Text + #39); add (#39 + txtpai.Text + #39); add (#39 + txtmae.Text + #39); add (tiramascara (txtres.Text)); add (tiramascara (txtcel.Text)); add (#39 + txtcon.Text + #39); Add (#39 + Copy( cboCid.Text, 1, 4 ) + #39); add (#39 + txtuf.Text + #39); Add (TiraMascara (Txtcep.Text)); add (#39 + txtend.Text + #39); add (#39 + txtnum.Text + #39); add (#39 + txtbai.Text + #39); add (#39 + txtcom.Text + #39); add (#39 + txtpro.Text + #39); add (#39 + txtemp.Text + #39); Add (#39 + Copy( cboCida.Text, 1, 4 ) + #39); add (#39 + txtuf3.Text + #39); add (#39 + txtende.Text + #39); add (#39 + txtnume.Text + #39); add (#39 + txtbairro.Text + #39); add (#39 + txtcompl.Text + #39); Add (TiraMascara (Txtcep1.Text)); add (tiramascara (txttele.Text)); add (#39 + txtramal.Text + #39); add (#39 + txtcodi.Text + #39); add (#39 + txtproc.Text + #39); if edata (txtabe.Text) then Add (#39 + FormatDateTime ('mm/dd/yyyy', StrToDate (txtabe.Text)) + #39); if edata (txtvenc.Text) then add (#39 + formatdatetime ('mm/dd/yyyy', strtodate (txtvenc.Text)) + #39); if edata (txtemi.Text) then add (#39 + formatdatetime ('mm/dd/yyyy', strtodate (txtemi.Text)) + #39); add (#39 + memobs.Text + #39); end; If (Editar) Then AlterarRegistro ('alunos', vCpo, vVlr, 'codigo =' + txtmat.Text) else IncluirRegistro('alunos', vCpo, vVlr); inherited; end; procedure Tfrmalunos.spbexcClick(Sender: TObject); begin if (not pergunta('Tem certeza que deseja excluir este registro?')) then exit; excluirregistro ('alunos', 'codigo =' + txtmat.text); inherited; end; procedure Tfrmalunos.spbpesClick(Sender: TObject); begin with vcpo do begin clear; add ('Codigo'); add ('Nome'); add ('Cpf'); add ('Processos') end; with vvlr do begin clear; add ('Codigo'); add ('Nome'); add ('Cpf'); add ('Processos') end; with tfrmpesquisa.create (application) do begin try tabela := 'alunos'; camporetorno := 'codigo'; showmodal; finally free; end; end; if (retorno<> '') then begin inherited; leregistro(); end; end; procedure Tfrmalunos.leregistro; begin IF consultaregistros('alunos', 'codigo, nome, cpf, processos', 'codigo =' + retorno) then begin txtmat.text := ledados ('codigo'); txtnom.text := ledados ('nome'); txtcpf.text := ledados ('cpf'); txtpro.text := ledados ('processos'); end; if consultaregistros('usuarios', 'codigo, nome', 'codigo =' + retorno) then begin txtcodi.text := ledados ('codigo'); txtusu.text := ledados ('nome'); end; end; procedure Tfrmalunos.cbocidExit(Sender: TObject); begin ConsultaRegistros ('Cidades', 'CEP' , 'Codigo =' + Copy (cboCid.Text, 1, 4)); TxtCEP.Text := StrZero (LeDados ('CEP'), 8); cbocid.Color := clWindow; end; procedure Tfrmalunos.FormShow(Sender: TObject); begin ConsultaRegistros ('Cidades ORDER BY cidade', 'Codigo, cidade', ''); While (Not dtmiza.Qryiza.Eof) Do begin cboCid.Items.Add(StrZero (LeDados ('Codigo'), 4) + '-' + LeDados ('cidade')); dtmiza.Qryiza.Next; end; end; procedure Tfrmalunos.cbocidaChange(Sender: TObject); begin ConsultaRegistros ('Cidades', 'CEP' , 'Codigo =' + Copy (cboCida.Text, 1, 4)); TxtCEP.Text := StrZero (LeDados ('CEP'), 8); cbocida.Color := clWindow; end; procedure Tfrmalunos.spdlocClick(Sender: TObject); begin with vcpo do begin clear; add ('Codigo'); add ('Nome'); end; with vvlr do begin clear; add ('Codigo'); add ('Nome'); end; with tfrmpesquisa.create (application) do begin try tabela := 'usuarios'; camporetorno := 'codigo'; showmodal; finally free; end; end; if (retorno<> '') then begin inherited; leregistro(); end; end; procedure Tfrmalunos.txtnasExit(Sender: TObject); Var Data : TDate; begin Try Data := StrToDate (TxtNas.Text); Except ShowMessage ('Data inválida!'); TxtNas.Text := ''; TxtNas.SetFocus; end; end; procedure Tfrmalunos.txtabeExit(Sender: TObject); Var Data : TDate; begin Try Data := StrToDate (Txtabe.Text); Except ShowMessage ('Data inválida!'); Txtabe.Text := ''; Txtabe.SetFocus; end; end; procedure Tfrmalunos.txtvencExit(Sender: TObject); Var Data : TDate; begin Try Data := StrToDate (Txtvenc.Text); Except ShowMessage ('Data inválida!'); Txtvenc.Text := ''; Txtvenc.SetFocus; end; end; procedure Tfrmalunos.txtemiExit(Sender: TObject); Var Data : TDate; begin Try Data := StrToDate (Txtemi.Text); Except ShowMessage ('Data inválida!'); Txtemi.Text := ''; Txtemi.SetFocus; end; end; end. :blink: Editado Junho 12, 2007 por Micheus Substituida tag's de comentário ([quote]..[/quote]) pelas de código ([code]..[/code]) para melhor legibilidade do código. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Junho 12, 2007 Denunciar Share Postado Junho 12, 2007 Mais uma vez obrigado pela dica, mas ainda não consiguo achar esse erro.olhe o arquivo todo.> Se alguém achar me fala, por favor: :unsure:robinhotbo, você colocou o código errado. <_< Se você quer ajuda no erro relacionado às suas queries, você tem que colocar - principalmente - o código que você utiliza para montá-la, afinal, não dá para adivinhar aonde você está errando sem ver como você o faz. ;) Em algum lugar você dever ter as procedures:AlterarRegistro ('alunos', vCpo, vVlr, 'codigo =' + txtmat.Text);, e até poderia adivinhar o que são os pâmetros (nome tabela, lista de campos, lista de valores e condição), mas como você os utiliza... - só vendo o código.IncluirRegistro('alunos', vCpo, vVlr);ConsultaRegistros ('Cidades', 'CEP' , 'Codigo =' + Copy (cboCida.Text, 1, 4));Mesmo assim, vou dar uma dica: nestas procedures, verifique se, quando você monta a lista de campos da cláusula SELECT, você não está concatenando os nomes do campos com algo assim:Qry.SQL.Clear; Qry.SQL.Text := 'SELECT '; for I := 0 to vCpo.Count -1 do begin Qry.SQL.Text := Qry.SQL.Text +vCpo.Strings[I] +','; end; Qry.SQL.Add('FROM ' + tab_nome); Qry.SQL.Add('WHERE ' + condicao); ... Se tiver, observe que após adicionar o último campo da lista (vCpo), existirá indevidamente uma vírgula ao final da instrução SELECT. (é erro na certa!) Sugestão? Declare uma variável local (se já a utilizar melhor) e após montar a lista, remova o último caracter da mesma:strSelect := 'SELECT '; for I := 0 to vCpo.Count -1 do begin strSelect := strSelect +vCpo.Strings[I] +','; end; Delete(strSelect, Length(strSelect) -1, 1); Qry.SQL.Add(strSelect);Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest robinhotbo Postado Junho 12, 2007 Denunciar Share Postado Junho 12, 2007 Resolvido Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest robinhotbo
Alguém pode me ajudar, não consiguo descubrir onde esta este erro.
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.