![]() | Products |
| Home » Technical Support » ElevateDB Technical Support » Product Manuals » ElevateDB Version 2 Manual for RAD Studio 2009 (C++) » Using ElevateDB » Inserting, Updating, and Deleting Rows |
Column # Name DataType Size
----------------------------------------------
1 CustomerID ftString 10
2 CustomerName ftString 30
3 ContactName ftString 30
4 Phone ftString 10
5 Fax ftString 10
6 EMail ftString 30
7 LastSaleDate ftDate 0
8 Notes ftMemo 0
Index Name Columns In Index Options
----------------------------------------------
Primary_Key CustomerID ixPrimary{
MyEDBDataSet->Append(); // State property will now reflect dsInsert
MyEDBDataSet->FieldByName("CustomerID")->AsString="100";
MyEDBDataSet->FieldByName("CustomerName")->AsString="The Hardware Store";
MyEDBDataSet->FieldByName("ContactName")->AsString="Bob Smith";
MyEDBDataSet->FieldByName("Phone")->AsString="5551212";
MyEDBDataSet->FieldByName("Fax")->AsString="5551616";
MyEDBDataSet->FieldByName("Email")->AsString=
"bobs@thehardwarestore.com";
MyEDBDataSet->Post(); // State property will now return to dsBrowse
}void __fastcall TMyForm::MyTablePostError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
Action=daAbort;
if (dynamic_cast<EEDBError*>(E))
{
if (dynamic_cast<EEDBError&>(*E)->ErrorCode==EDB_ERROR_CONSTRAINT)
{
ShowMessage("This row violates a table or column constraint ("+
E->Message+")");
}
else
{
ShowMessage(E->Message);
}
}
else
{
ShowMessage(E->Message);
}
}{
try
{
MyEDBDataSet->Append(); // State property will now reflect dsInsert
MyEDBDataSet->FieldByName("CustomerID")->AsString="100";
MyEDBDataSet->FieldByName("CustomerName")->AsString=
"The Hardware Store";
MyEDBDataSet->FieldByName("ContactName")->AsString="Bob Smith";
MyEDBDataSet->FieldByName("Phone")->AsString="5551212";
MyEDBDataSet->FieldByName("Fax")->AsString="5551616";
MyEDBDataSet->FieldByName("Email")->AsString=
"bobs@thehardwarestore.com";
MyEDBDataSet->Post(); // State property will now return to dsBrowse
}
catch(const Exception &E)
{
if (dynamic_cast<EEDBError*>(E))
{
if (dynamic_cast<EEDBError&>(*E)->ErrorCode==EDB_ERROR_CONSTRAINT)
{
ShowMessage("This row violates a table or column constraint ("+
E->Message+")");
}
else
{
ShowMessage(E->Message);
}
}
else
{
ShowMessage(E->Message);
}
}
}
{
MyEDBDataSet->Edit(); // State property will now reflect dsEdit
// Set LastSaleDate column to today's date
MyEDBDataSet->FieldByName("LastSaleDate")->AsDateTime=Date;
MyEDBDataSet->Post(); // State property will now return to dsBrowse
}void __fastcall TMyForm::MyTableEditError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
Action=daAbort;
if (dynamic_cast<EEDBError*>(E))
{
if (dynamic_cast<EEDBError&>(*E)->ErrorCode==EDB_ERROR_LOCKROW)
{
if (MessageDlg("The row you are trying to edit "+
"is currently locked, do you want to "+
"try to edit this row again?",
mtWarning,TMsgDlgButtons()<<mbYes<<mbNo,0)==mrYes)
{
Action=daRetry;
}
}
else if (dynamic_cast<EEDBError&>(*E)->ErrorCode==EDB_ERROR_ROWDELETED)
{
MessageDlg("The row you are trying to edit "+
"has been deleted since it was last "+
"retrieved",mtError,TMsgDlgButtons()<<mbOk,0);
DataSet->Refresh;
}
else if (dynamic_cast<EEDBError&>(*E)->ErrorCode==EDB_ERROR_ROWMODIFIED)
{
MessageDlg("The row you are trying to edit "+
"has been modified since it was last "+
"retrieved, the row will now be "+
"refreshed",mtWarning,TMsgDlgButtons()<<mbOk,0);
DataSet->Refresh;
Action=daRetry;
}
else
{
MessageDlg(E.Message,mtError,TMsgDlgButtons()<<mbOk,0);
}
}
else
{
MessageDlg(E.Message,mtError,TMsgDlgButtons()<<mbOk,0);
}
}{
while (true)
{
try
{
MyEDBDataSet->Edit(); // State property will now reflect dsEdit
// Set LastSaleDate column to today's date
MyEDBDataSet->FieldByName("LastSaleDate")->AsDateTime=Date;
MyEDBDataSet->Post();
// State property will now return to dsBrowse
break; // Break out of retry loop
}
catch(const Exception &E)
{
if (dynamic_cast<EEDBError*>(E))
{
if (dynamic_cast<EEDBError&>(*E)->ErrorCode==EDB_ERROR_LOCKROW)
{
if (MessageDlg("The row you are trying to edit "+
"is currently locked, do you want to "+
"try to edit this row again?",
mtWarning,TMsgDlgButtons()<<mbYes<<mbNo,
0)==mrYes)
{
continue;
}
}
else if (dynamic_cast<EEDBError&>(*E)->ErrorCode==EDB_ERROR_ROWDELETED)
{
MessageDlg("The row you are trying to edit "+
"has been deleted since it was last "+
"retrieved",mtError,TMsgDlgButtons()<<mbOk,0);
MyTable->Refresh();
break;
}
else if (dynamic_cast<EEDBError&>(*E)->ErrorCode==EDB_ERROR_ROWMODIFIED)
{
MessageDlg("The row you are trying to edit "+
"has been modified since it was last "+
"retrieved, the row will now be "+
"refreshed",mtWarning,TMsgDlgButtons()<<mbOk,0);
MyTable->Refresh();
continue;
}
else
{
MessageDlg(E.Message,mtError,TMsgDlgButtons()<<mbOk,0);
break;
}
}
else
{
MessageDlg(E.Message,mtError,TMsgDlgButtons()<<mbOk,0);
break;
}
}
}
}{
MyEDBDataSet->Delete();
}{
MyEDBDataSet->Edit(); // State property will now reflect dsEdit
// Set LastSaleDate column to today's date
MyEDBDataSet->FieldByName("LastSaleDate")->AsDateTime=Date;
MyEDBDataSet->Cancel(); // State property will now return to dsBrowse
}{
MyEDBDataSet->Edit(); // State property will now reflect dsEdit
// Load a text file from disk
dynamic_cast<TBlobField&>(*MyEDBDataSet->FieldByName("Notes")->
LoadFromFile("c:\\temp\\test.txt");
MyEDBDataSet->Post(); // State property will now return to dsBrowse
}{
TEDBBlobStream *BlobStream;
// First create the BLOB stream - be sure to make sure that
// we put the table into dsEdit or dsInsert mode first since
// we're writing to the BLOB stream
FirstEDBDataSet->Append();
try
{
BlobStream=new TEDBBlobStream((TBlobField *)
FirstEDBDataSet->FieldByName("TableStream"),bmWrite);
try
{
// Now save the table to the BLOB stream
SecondEDBDataSet->SaveToStream(BlobStream);
}
__finally
{
// Be sure to free the BLOB stream *before* the Post
delete BlobStream;
}
FirstEDBDataSet->Post();
}
catch
{
// Cancel on an exception
FirstEDBDataSet->Cancel();
}
}This web page was last updated on Tuesday, September 16, 2025 at 04:56 PM | Privacy Policy © 2026 Elevate Software, Inc. All Rights Reserved Questions or comments ? |

