Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno "Numeric value out of range." (Sybase SQL Anywhere 5.5)

Po spustení databázovej procedúry (alebo ako to nazvať) cez program písaný v Delphi 2007 mi vyskočí chyba:

Project *.exe raised exception class EOleException with message '[Sybase][ODBC driver]Numeric value out of range: value 808335409 out of range for destination'.

Vždy mi vypíše chybu s tou istou hodnotou, pritom údaje, ktoré vkladám do databázy sú VŽDY iné!

Nechcem tú dávať tých 150 riadkov zdrojového kódu v Delphi a zdrojový kód tej procedúry, preto mi určite presne neporadíte, kde je chyba. Len chcem vedieť, kedy sa táto chyba vyskytuje, pretože na Googli som toho veľa nenašiel. :-/

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Tak mám tu hodiť 300 riadkov zdrojáku v Delphi (je to len čisto to, čo vkladá do databázy), tú datab…
gorgeous007 28.07.2008 15:18
gorgeous007
to dej na uloz.to v textovém souboru s příponou .txt ]:)
marekdrtic 28.07.2008 15:50
marekdrtic
Tak už som to všetko dal na Problem.txt Dal som tam celú procedúru Vklad, ktorú potom 2-krát využív…
gorgeous007 28.07.2008 16:12
gorgeous007
A jsi si jisty, ze vsechny polozky pole Doby[] jsou naplnene? V tom cyklu je ruzne preskakujes. Zji…
Jan Fiala 28.07.2008 16:26
Jan Fiala
Aha, díky. Ja som tam všade mal premennú i, potom som ten cyklus celý prepisoval a zamenil som aj to… nový
gorgeous007 28.07.2008 16:28
gorgeous007
Tak problém je vyriešený. Díky všetkým, ale hlavne autorovi PSPadu, ktorý to s Delphi naozaj umí. ;-… poslední
gorgeous007 28.07.2008 16:35
gorgeous007

Tak už som to všetko dal na Problem.txt

Dal som tam celú procedúru Vklad, ktorú potom 2-krát využívam v programe. Dal som ju tam celú hlavne, aby ste sa mohli pozrieť na deklarácie premenných. Potom sa mrknite hlavne za poznámku // Pre Crystal Reports, pretože kód pred ňou bezproblémovo funguje a robí, čo má.

Inak procedúra frmZaklad.NacitanieSQL robí toto:

procedure TfrmZaklad.NacitanieSQL(Prikaz: String);
  begin
    with DataModule1.ADOQuery do begin
      SQL.Clear;
      SQL.Add(Prikaz);
      Active := true;
    end;
  end;

Ďalej procedúra frmZaklad.VykonanieSQL robí toto:

procedure TfrmZaklad.VykonanieSQL(Prikaz: String); 
  begin
    with DataModule1.ADOCommand do begin
      CommandText := Prikaz;
      Execute;
    end;
  end;

A nakoniec funkcia frmZaklad.BodkaNaCiarku robí toto:

function TfrmZaklad.BodkaNaCiarku(C: String): Currency;
  var
    i: Integer;
  begin
    for i := 1 to Length(C) do begin
      if (C[i] = '.') then C[i] := ',';
    end;
    BodkaNaCiarku := StrToCurr(C);
  end;

Môžete mi z toho zdrojáku poradiť? ... :-/

Zpět do poradny Odpovědět na původní otázku Nahoru