V4RB2: funny Database entries

Claudius Sailer Claudius at sailer-online.de
Sat May 19 13:28:32 CDT 2007


Am 19.05.2007 um 16:05 schrieb Ruslan Zasukhin:

> On 5/19/07 2:32 PM, "Claudius Sailer" <Claudius at sailer-online.de>  
> wrote:
>
> Hi Claudius,
>
> I wonder if you did any things like db.Clone() for this db ?
>

no never.

what I wonder is, that

name = "DBBuchungen"
BDatum = new VDate("BDatum", EVFlag.fIndexed)
Herk_Konto = new VObjectPtr 
("Herk_Konto",inDataBase.TKonten,EVOnDelete.kRestrict+EVFlag.fIndexed)
Ziel_Konto = new VObjectPtr 
("Ziel_Konto",inDataBase.TKonten,EVOnDelete.kRestrict+EVFlag.fIndexed)
Kategorie_ID = new VobjectPtr("Kategorie_ID",  
inDataBase.TKategorien,EVOnDelete.kRestrict+EVFlag.fIndexed)
Betrag = new VLong("Betrag")
Kommentar = new VVarChar("Kommentar",504,EVFlag.fNullable)
Blocked = new VBoolean("Blocked", EVFlag.fIndexed)
Deleted=new VBoolean("Deleted", EVFlag.fIndexed)


you can see in table description that Herk_Konto, Ziel_Konto,  
Kategorie_ID can't be 0 becuase in the referenced tables 0 is not a  
valid value!!!


this is code for writing into database. I know my fault.  
AktuelleKategorie, AktuellesKonto and AktuellesGegenKonto are '' but  
I would expected the addRecord would fail!!

   meineDatenbank.TBuchungen.setblank

   Call parsedate(EditField1.text.trim,CheckDate)

   ''meineDatenbank.TBuchungen.BDatum.Set(CheckDate.year,  
CheckDate.month, CheckDate.day)
   meineDatenbank.TBuchungen.BDatum.SetDate(CheckDate)

   meineDatenbank.TBuchungen.Kategorie_ID.value=AktuelleKategorie

   if EditField4(0).text.cdbl<>0 then
     //Ausgabe
     meineDatenbank.TBuchungen.Betrag.value=RoundTextNumber(EditField4 
(0).text)
     meineDatenbank.TBuchungen.Herk_Konto.value=AktuellesKonto
     meineDatenbank.TBuchungen.Ziel_Konto.value=AktuellesGegenKonto
   else
     //Einnahme
     meineDatenbank.TBuchungen.Betrag.value=RoundTextNumber(EditField4 
(1).text)
     meineDatenbank.TBuchungen.Herk_Konto.value=AktuellesGegenKonto
     meineDatenbank.TBuchungen.Ziel_Konto.value=AktuellesKonto
   end if
   if NOT CheckLeer(EditField5.text) then  
meineDatenbank.TBuchungen.Kommentar.Value=EditField5.text.trim
   meineDatenbank.TBuchungen.Blocked.value=false
   MsgBox chr(AktuelleKategorie)+" "+chr(AktuellesKonto)+" "+chr 
(AktuellesGegenKonto)+" "+CheckDate.ShortDate
   LetzterDatensatz=meineDatenbank.TBuchungen.addRecord

   meineDatenbank.TBuchungen.flush


bye



Claudius

-- 
iMac CD 2GHz / MacOS X 10.4.8de / RB 2006r4/ Valentina 2.5.6
Homepage    http://www.ClaSai.de
iChat        ryhoruk
RealBasic ListBoxes: [ I feel the need...the need for speed!!! ]




More information about the Valentina mailing list