Write to Access Database using C++ and OleDB connection [modified]
-
I am trying to put information in an access database file (mdb) with an oledb connection. Everything seems fine but no new information is added to the database at the end. This is the code I have now:
double Tabel_Panelinfo(String^ item_id, String^ use, String^ type)
{
// returnwaarde initialiseren
int dblID = 10;// Aanmaken logische naam voor connectie OleDbConnection^ myOleDbConnection = nullptr; try { // 1. Build OLE DB connection string for MS Access database OleDbConnectionStringBuilder^ connectionBuilder = gcnew OleDbConnectionStringBuilder(); connectionBuilder->Provider = "Microsoft.Jet.OLEDB.4.0"; connectionBuilder->DataSource = "D:\\\\Data\\\\Visual Studio 2005\\\\Projects\\\\VertexBDXML-RandekSPL728\\\\VertexBDXML-RandekSPL728\\\\Tabel-XML.mdb"; // 2. Create OLE DB connection myOleDbConnection = gcnew OleDbConnection(connectionBuilder->ToString()); // 3. Open OLE DB connection myOleDbConnection->Open(); // 4. create OLE DB DataAdapter OleDbDataAdapter^ DataAdapter = gcnew OleDbDataAdapter("SELECT \* FROM tblPanel", myOleDbConnection); // 4a. Attach FillError and RowUpdated event handlers DataAdapter->FillError += gcnew FillErrorEventHandler(MyEventHandler::FillError); DataAdapter->RowUpdated += gcnew OleDbRowUpdatedEventHandler(MyEventHandler::RowUpdated); // 5. Create DataSet DataSet^ myDataSet = gcnew DataSet(); // 6. Dataset opvullen DataAdapter->MissingSchemaAction = MissingSchemaAction::Add; DataAdapter->Fill(myDataSet, "tblPanel"); // 7. Waarde zoeken DataRow^ row = myDataSet->Tables\["tblPanel"\]->NewRow(); // DataRow^ row = myDataSet->Tables\["tblPanel"\]->Rows->Find("1"); if (row != nullptr) { // 8. Datavelden invullen // row\["ID"\] = dblID; row\["item\_id"\] = item\_id; row\["use"\] = use; row\["type"\] = Convert::ToInt16(type); // dblID = Convert::ToDouble(row\["ID"\]); // 9. Data updaten DataAdapter->Update(myDataSet, "tblPanel"); } } catch(Exception^ e) { Console::WriteLine(e->Message); } finally { // Close OLE DB connection if ( myOleDbConnection != nullptr ) myOleDbConnection->Close(); } return dblID;
}
-- modified at 5:47 Friday 24th August, 2007 -- modified at 5:47 Friday 24th August, 2007 Stefan -- modified at 5:48 Friday 24th August, 2007
-
I am trying to put information in an access database file (mdb) with an oledb connection. Everything seems fine but no new information is added to the database at the end. This is the code I have now:
double Tabel_Panelinfo(String^ item_id, String^ use, String^ type)
{
// returnwaarde initialiseren
int dblID = 10;// Aanmaken logische naam voor connectie OleDbConnection^ myOleDbConnection = nullptr; try { // 1. Build OLE DB connection string for MS Access database OleDbConnectionStringBuilder^ connectionBuilder = gcnew OleDbConnectionStringBuilder(); connectionBuilder->Provider = "Microsoft.Jet.OLEDB.4.0"; connectionBuilder->DataSource = "D:\\\\Data\\\\Visual Studio 2005\\\\Projects\\\\VertexBDXML-RandekSPL728\\\\VertexBDXML-RandekSPL728\\\\Tabel-XML.mdb"; // 2. Create OLE DB connection myOleDbConnection = gcnew OleDbConnection(connectionBuilder->ToString()); // 3. Open OLE DB connection myOleDbConnection->Open(); // 4. create OLE DB DataAdapter OleDbDataAdapter^ DataAdapter = gcnew OleDbDataAdapter("SELECT \* FROM tblPanel", myOleDbConnection); // 4a. Attach FillError and RowUpdated event handlers DataAdapter->FillError += gcnew FillErrorEventHandler(MyEventHandler::FillError); DataAdapter->RowUpdated += gcnew OleDbRowUpdatedEventHandler(MyEventHandler::RowUpdated); // 5. Create DataSet DataSet^ myDataSet = gcnew DataSet(); // 6. Dataset opvullen DataAdapter->MissingSchemaAction = MissingSchemaAction::Add; DataAdapter->Fill(myDataSet, "tblPanel"); // 7. Waarde zoeken DataRow^ row = myDataSet->Tables\["tblPanel"\]->NewRow(); // DataRow^ row = myDataSet->Tables\["tblPanel"\]->Rows->Find("1"); if (row != nullptr) { // 8. Datavelden invullen // row\["ID"\] = dblID; row\["item\_id"\] = item\_id; row\["use"\] = use; row\["type"\] = Convert::ToInt16(type); // dblID = Convert::ToDouble(row\["ID"\]); // 9. Data updaten DataAdapter->Update(myDataSet, "tblPanel"); } } catch(Exception^ e) { Console::WriteLine(e->Message); } finally { // Close OLE DB connection if ( myOleDbConnection != nullptr ) myOleDbConnection->Close(); } return dblID;
}
-- modified at 5:47 Friday 24th August, 2007 -- modified at 5:47 Friday 24th August, 2007 Stefan -- modified at 5:48 Friday 24th August, 2007