Article View: borland.public.cppbuilder.database.multi-tier
Article #557TDataSetProvider can't aasign NULL value
From: Sveta
Date: Thu, 26 Jul 2001 08:50
Date: Thu, 26 Jul 2001 08:50
41 lines
2291 bytes
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!dnewsShow 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