Problemas ao Dar applyupdates com o TBODBXFB

10 views
Skip to first unread message

Leandro

unread,
Mar 11, 2010, 12:45:31 PM3/11/10
to TboDbxFb Firebird DBX4 Driver
Galera boa tarde.

Instalei o driver do TBODBXFB e fui tentar inserir um dado no meu
bando de dados utilizando um sqlconnection+datastprovider
+clientdataset.

Quando dei um applyupdates, ele me retornou o seguinte erro:

Dbx Error : InvalidType.

Alguém saberia me dizer o que está ocorrendo?

Valeu galera!!!

Thiago Borges de Oliveira

unread,
Mar 11, 2010, 4:35:06 PM3/11/10
to tbod...@googlegroups.com
Pode anexar o exemplo?

--
Thiago Borges

On 11/03/2010 14:45, Leandro wrote:
> Galera boa tarde.
>
> Instalei o driver do TBODBXFB e fui tentar inserir um dado no meu
> bando de dados utilizando um sqlconnection+datastprovider
> +clientdataset.
>
> Quando dei um applyupdates, ele me retornou o seguinte erro:
>
> Dbx Error : InvalidType.
>

> Algu�m saberia me dizer o que est� ocorrendo?
>
> Valeu galera!!!
>
>

Leandro Izaias

unread,
Mar 12, 2010, 6:33:36 AM3/12/10
to tbod...@googlegroups.com
Thiago Borges de Oliveira escreveu:
> Pode anexar o exemplo?
>
> Ol� Thiago, segue o exemplo abaixo:

E agrade�o pela ajuda.

serie := '';
try
CDSNFHORALANC.AsDateTime := horalanc;

if CheckBox3.Checked = True then
CDSNFFICTICIA.AsString := 'X'
else
CDSNFFICTICIA.AsString := '';

CDSNFCODFOR.AsString := RetZero(Trim(edFo.Text), 10);
CDSNFDATA.AsDateTime := StrToDate(edData.Text);
CDSNFNF.AsInteger := StrToInt(edNF.text);

if CheckBox4.Checked = True then
begin
if Length(trim(edsr.Text)) = 0 then
serie := ' E';
if Length(trim(edsr.text)) = 1 then
serie := trim(EdSr.Text)+' E';
if Length(trim(edsr.text)) = 2 then
serie := trim(EdSr.Text)+'E';
if Length(trim(edsr.text)) = 3 then
serie := trim(EdSr.Text);

CDSNFNFE.AsString := 'X';

if ACAO = ('I') then
begin
IBQProcNF.close;
IBQProcNF.SQL.Clear;
IBQProcNF.SQL.Add('select CODFOR,sequencia from NOTAFISCAL');
IBQProcNF.SQL.Add('Where Codfor = ' + #39 +
RetZero(Alltrim(EdFo.Text), 10) + #39);
IBQProcNF.SQL.Add('And NF = ' + #39 + Alltrim(EdNF.Text) + #39);
if alltrim(EdSr.Text) = '' then
IBQProcNF.SQL.Add('And serie = '' '' ')
else
IBQProcNF.SQL.Add('And serie = ' + #39 + serie + #39);
IBQProcNF.SQL.Add('And oidsite = ' + IntToStr(OidSite));
IBQProcNF.Open;

if not IBQProcNF.IsEmpty then
begin
ShowMessage('J� Existe Esta NF deste Fornecedor Lan�ada
!!');
EdNF.SetFocus;
ex := 'S';
exit;
end;
end;
end
else
begin

if Length(trim(edsr.Text)) = 0 then
serie := ' ';

if Length(trim(edsr.text)) = 1 then
serie := trim(EdSr.Text)+' ';

if Length(trim(edsr.text)) = 2 then
serie := trim(EdSr.Text)+' ';

if Length(trim(edsr.text)) = 3 then
serie := trim(EdSr.Text);

serie := serie;
end;

CDSNFserie.AsString := serie;
EdSr.text := serie;

CDSNFHORAPORTARIA.AsDateTime := StrToTime(edHc.text);
CDSNFHORACHFPREV.AsDateTime := StrToTime(edHp.Text);
CDSNFFRETE.AsFloat := 0;

if checkbox2.Checked then
CDSNFCODCONSIG.AsString := RetZero(Trim(edFOConsig.Text), 10)
else
CDSNFCODCONSIG.AsString := '0';

if chkDebForn.Checked then
CDSNFDEBFORN.AsInteger := 1
else
CDSNFDEBFORN.AsInteger := 0;

if edhn.text <> ' : ' then
CDSNFHORANORMAL.AsDateTime := StrToTime(edHn.Text);

CDSNFHORACRITICO.AsDateTime := StrToTime(edHt.Text);

if edhn.text = ' : ' then
CDSNFDATASAIDA.AsDateTime := date
else
begin
if strtotime(edhn.Text) >= StrToTime('12:00:00') then
CDSNFDATASAIDA.AsDateTime := date
else
CDSNFDATASAIDA.AsDateTime := date + 1;
end;

CDSNFCT.AsString := edCt.text;

if cbxFtpg.text = '60850617000470' then
CDSNFFTPG.AsString := 'ITCA';

if cbxFtpg.text = '60850617000128' then
CDSNFFTPG.AsString := 'CEBH';

if cbxFtpg.text = '60850617000985' then
CDSNFFTPG.AsString := 'AGCT';

if cbxFtpg.text = '60850617001019' then
CDSNFFTPG.AsString := 'AGPI';

if cbxFtpg.Text = '60850617000551' then
CDSNFFTPG.AsString := 'RPSO';

if cbxFtpg.Text = '60850617002090' then
CDSNFFTPG.AsString := 'CASO';

CDSNFAltura.AsFloat := strtofloat(EdAlt.Text);
CDSNFLargura.AsFloat := strtofloat(EdLarg.Text);
CDSNFComprimento.AsFloat := strtofloat(EdComprim.Text);

CDSNFOBS2.Value := MMOB.Lines.Text;

if edit.Text = '' then
edit.Text := '0';

CDSNFItens.AsInteger := StrToInt(edIt.Text);

CDSNFPeso.AsFloat := StrToFloat(edps.text);
CDSNFPesoC.AsFloat := StrToFloat(edPc.Text);
CDSNFValorNf.AsFloat := StrToFloat(edVl.Text);
CDSNFValorTotal.AsFloat := StrToFloat(edVT.Text);

CDSNFHoraCDC.AsDateTime := time;

if EDHn.Text = '' then
CDSNFTipoP.AsString := 'C'
else
CDSNFTipoP.AsString := 'N';

if trim(EdtNumColeta.Text) <> '' then
begin
CDSNFColeta.AsString := 'X';
CDSNFNCOLETA.AsInteger := strtoint(EdtNumColeta.Text);
end
else

if IBQOcorrenciaCodigo.Value>0 then
CDSNFOcorrCDC.AsInteger := IBQOcorrenciaCodigo.Value;

CDSNFOperador.AsInteger := GlbCodUser;

CDSNFPLACA.AsString := '';

if CBSaida.Checked then
begin
if edPlaca.Text = ' - ' then
begin
Application.MessageBox('Informe a Placa', PChar(Caption),
MB_OK + MB_ICONINFORMATION);
edPlaca.SetFocus;
Exit;
end;
CDSNFsaida.AsString := 'a';
CDSNFPLACA.AsString := edPlaca.Text;
end
else
CDSNFsaida.AsString := '';

CDSNFDataVencimento.AsDateTime := StrToDate(edVcto.Text);
CDSNFDATAEMISSAO.AsDateTime := StrToDate(edEmissao.Text);
CDSNFALiqIcms.AsFloat := StrToFloat(edAl.text);
CDSNFIcms.AsFloat := StrToFloat(edIc.Text);

CDSNFCFOP.AsInteger := StrToInt(edCFOP.Text);

if edVol.Text = '' then
edVol.Text := '0';

CDSNFVolume.AsInteger := StrToInt(edVol.Text);

if ChkBxImport.Checked then
CDSNFEmb500.Value := 1;

CDSNFOIDSITE.AsInteger := OidSite;

if JvCkBPre.Checked then
CDSNFPREDIG.asstring:='X';

if (acao = 'I') then
CDSNFSEQUENCIA.AsInteger := SEQUENCIA;

CDSNF.Post;
CDSNF.ApplyUpdates(0);


Reply all
Reply to author
Forward
0 new messages