Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » ElevateDB Technical Support » Product Manuals » ElevateDB Version 2 Manual for RAD Studio XE7 (C++ Win32) » 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 Thursday, November 16, 2023 at 10:39 AM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |