🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.database.multi-tier
Article #557

TDataSetProvider can't aasign NULL value

#557
From: Sveta
Date: Thu, 26 Jul 2001 08:50
41 lines
2291 bytes
Hi collegues!
I use Builder4 in multi-tier application.
Trying to set NULL in memo field, I've found that
function Param->AssignFieldValue can't do it!
Not null - please, but when I clear field on client
side and use standart event on DataSetProvider in server,
that field in table has old value. Anybody knows is it bug
or I am big fool? (See the code below)

void __fastcall TDBServer::GridConfigProviderBeforeUpdateRecord(
      TObject *Sender, TDataSet *SourceDS, TClientDataSet *DeltaDS,
      TUpdateKind UpdateKind, bool &Applied)
{
   TQuery * Query = UpdateSQLGrid->Query[UpdateKind];
   Query->SessionName=MtrDatabase->SessionName;
   Query->DatabaseName=MtrDatabase->DatabaseName;
   //for(int i=0; i < 9; i++)
   for(int i=0; i < SourceDS->Fields->Count; i++)
   {
     AnsiString Name=SourceDS->Fields->Fields[i]->FieldName;
     TParam * Param=Query->Params->FindParam(Name);
     if(Param)
     {
       Variant var = DeltaDS->Fields->Fields[i]->NewValue;
       Variant old = DeltaDS->Fields->Fields[i]->OldValue;
       if(var.IsEmpty())    // || var.IsNull())
       Param->AssignFieldValue(DeltaDS->Fields->Fields[i], old);
       else
       Param->AssignFieldValue(DeltaDS->Fields->Fields[i], var);
     }
     Param=Query->Params->FindParam("OLD_"+Name);
     if(Param)  
     {
       Param->AssignFieldValue(DeltaDS->Fields->Fields[i], DeltaDS->Fields->Fields[i]->OldValue);
     }
   }
   Query->Prepare();
   Query->ExecSQL();
   Applied=true;
}
Technical Details
Message-ID: <3b5fd9c8$1_1@dnews>
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!news.tele.dk!195.238.2.15!skynet.be!newsfeed1.uni2.dk!newssuck.uni2.dk!dnews

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: fcd2b,659f8b109f23ca1,start
X-Google-Attributes: gidfcd2b,public
X-Google-ArrivalTime: 2001-07-26 02:03:46 PST
From: "Sveta" <Sveta@mcity.mos.ru>
Sender: "Sveta" <Sveta@mcity.mos.ru>
Reply-To: "Sveta" <Sveta@mcity.mos.ru>
Subject: TDataSetProvider can't aasign NULL value
Newsgroups: borland.public.cppbuilder.database.multi-tier
X-User-Info: 212.11.130.102 212.11.130.102    
NNTP-Posting-Host: 207.105.83.65
Message-ID: <3b5fd9c8$1_1@dnews>
Date: 26 Jul 2001 01:50:16 -0700
X-Trace: dnews 996137416 207.105.83.65 (26 Jul 2001 01:50:16 -0700)
Lines: 41
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!news.tele.dk!195.238.2.15!skynet.be!newsfeed1.uni2.dk!newssuck.uni2.dk!dnews