Mega Code Archive

 
Categories / Visual C++ .NET / ADO Database
 

Database Events

#include "stdafx.h" using namespace System; using namespace System::Data; using namespace System::Data::OleDb; using namespace System::Data::SqlClient; ref struct MyEventHandler{     static void FillError(Object^ sender, FillErrorEventArgs^ e)     {         e->Continue = true;     }     static void RowUpdated(Object^ sender, OleDbRowUpdatedEventArgs^ e)     {         if ( e->Status == UpdateStatus::ErrorsOccurred )         {             e->Status = UpdateStatus::SkipCurrentRow;             Console::WriteLine(e->Row[e->Row->Table->PrimaryKey[0]->ColumnName]);         }     } }; void main(){     OleDbConnection^ myConnection = nullptr;     myConnection = gcnew OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Music.mdb");     myConnection->Open();     OleDbDataAdapter^ dataAdapter = gcnew OleDbDataAdapter("SELECT * FROM Music", myConnection);     OleDbCommandBuilder^ commandBuilder = gcnew OleDbCommandBuilder(dataAdapter);     dataAdapter->UpdateCommand = commandBuilder->GetUpdateCommand();     dataAdapter->FillError += gcnew FillErrorEventHandler(MyEventHandler::FillError);     dataAdapter->RowUpdated += gcnew OleDbRowUpdatedEventHandler(MyEventHandler::RowUpdated);     DataSet^ myDataSet = gcnew DataSet();     dataAdapter->MissingSchemaAction = MissingSchemaAction::AddWithKey;     dataAdapter->Fill(myDataSet);              DataTable^ MyTable = myDataSet->Tables[0];             DataRow^ row = MyTable->Rows->Find("EnTrance");              if ( row != nullptr )        row["GenreName"] = "T";              row = MyTable->Rows->Find("Automatic");     if ( row != nullptr ){        row["Title"] = "your value";        dataAdapter->Update(myDataSet);     }     myConnection->Close(); }