🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: borland.public.cppbuilder.database.multi-tier
4 messages
4 total messages Started by Danny Sat, 14 Jun 2003 14:21
Error: Record not found or changed by another user
#188
Author: Danny
Date: Sat, 14 Jun 2003 14:21
28 lines
1730 bytes
I am creating a database application with TClientdataset and
TXMLtransformprovider.
The structure of the database is a main record with a nested dataset:

<Record No="1">
        <some fields>
        <Product No="ABC">
        </Product>
</Record>

When I add or delete records continuously and call ApplyUpdates(-1),
everything works fine.

However, when I add some records and call ApplyUpdates(-1) and closes the
form that contains the dataset,
then after reopening the form and reloading the dataset, I try to delete the
records that I just created, EDatabaseError raises

1. Record not found or changed by another user.

2. Unabled to find record.  No key specified.

Does anyone know what may have caused the errors?

Any help is greatly appreciated.

Danny
Re: Error: Record not found or changed by another user
#189
Author: DreamChaser
Date: Sat, 14 Jun 2003 16:43
7 lines
1338 bytes
Just a guess but, there may be some 'handshaking' that is going on in the
bacground. If you're closing the form that has the dataset (TDataSource,
etc) before the ApplyUpdates(-1) is finished, you may have marked a record
as being changed but, the component hasn't released it yet when the
component is destroyed.

jeff
anyone know how to implement multi RDM in C++builder6
#194
Author: Gunakid
Date: Thu, 10 Jul 2003 08:10
26 lines
1738 bytes
when working with multi RDM, i encounter some problem: the server side
ClientDataSet can't find the provider of the server, the message is "Missing
data provider or data packet".
here is the code for the main interface's property that indicate the child
rdm,is there anything wrong with the code?


STDMETHODIMP TrdmORnTierServerImpl::get_rdmOrderInfo(IrdmOrderInfo** Value)
{
  try
  {
        file://----------------------
        TCOMIrdmOrderInfo MyObject = CordmOrderInfo::Create();
        *Value = (IrdmOrderInfo*)MyObject;
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_IrdmORnTierServer);
  }
  return S_OK;
};
-------------------------------------------------
thanks,

Gunakid xu
2003.07.10
Re: anyone know how to implement multi RDM in C++builder6
#196
Author: Andrei Smaguine
Date: Wed, 16 Jul 2003 08:31
20 lines
1645 bytes
Hello!
Try this. In my project it works.

STDMETHODIMP TrdmORnTierServerImpl::get_rdmOrderInfo(IrdmOrderInfo** Value)
 {
   CComObject<TrdmOrderInfoImpl>* rdmTemp;
   try
   {
         HRESULT  hr =
CComObject<TrdmOrderInfoImpl>::CreateInstance(&rdmTemp);
         if(SUCCEEDED(hr))
             *Value = (IrdmOrderInfo*)rdmTemp->GetUnknown();

   }
   catch(Exception &e)
   {
     return Error(e.Message.c_str(), IID_IrdmORnTierServer);
   }
   return S_OK;
 };
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads