Visual C++ .NET/Database ADO.net/DataSet

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Add tables to DataSet

<source lang="csharp">

  1. include "stdafx.h"

using namespace System; using namespace System::Data; void main() {

   DataSet^ myDataSet = gcnew DataSet("Game Data");
   myDataSet->Tables->Add("Player");
   myDataSet->Tables->Add("Score");
   DataTable^ playerTable = myDataSet->Tables["Player"];
   DataColumn^ firstNameColumn1 = playerTable->Columns->Add("First Name",String::typeid);
   DataColumn^ lastNameColumn1 = playerTable->Columns->Add("Last Name",String::typeid);
   playerTable->Columns->Add("Email", String::typeid);

}

 </source>


Convert data table from database to xml

<source lang="csharp">

  1. include "stdafx.h"

using namespace System; using namespace System::Configuration; using namespace System::Data; using namespace System::Data::SqlClient; using namespace System::Xml; void Navigate(XmlNode ^node, int depth) {

   if (node == nullptr)
       return;
   Console::WriteLine(depth);
   Console::WriteLine(node->NodeType.ToString());
   Console::WriteLine(node->Name);
   Console::WriteLine(node->Value);
   if (node->Attributes != nullptr)
   {
       for (int i = 0; i < node->Attributes->Count; i++)
       {
           Console::WriteLine(node->Attributes[i]->Name);
           Console::WriteLine(node->Attributes[i]->Value);
       }
   }
   Navigate(node->FirstChild, depth+1);
   Navigate(node->NextSibling, depth);

} void main(){

   XmlDocument ^doc = gcnew XmlDocument();
   SqlConnection ^connect = gcnew SqlConnection();
   
   connect->ConnectionString = "SQLConnection";
   SqlDataAdapter ^dAdapt = gcnew SqlDataAdapter();
   DataSet ^dSet          = gcnew DataSet();
   dAdapt->SelectCommand  = gcnew SqlCommand("SELECT * FROM Authors", connect);
       
   dAdapt->Fill(dSet, "Authors");
   XmlDataDocument ^doc1 = gcnew XmlDataDocument(dSet);
   Navigate(doc1->DocumentElement, 0);

}

 </source>


Create DataSet

<source lang="csharp">

  1. include "stdafx.h"

using namespace System; using namespace System::Data; void main() {

   DataSet^ myDataSet = gcnew DataSet("Game Data");
   myDataSet->Tables->Add("Player");
   myDataSet->Tables->Add("Score");
   DataTable^ playerTable = myDataSet->Tables["Player"];
   DataColumn^ firstNameColumn1 = playerTable->Columns->Add("First Name",String::typeid);
   DataColumn^ lastNameColumn1 = playerTable->Columns->Add("Last Name",String::typeid);
   playerTable->Columns->Add("Email", String::typeid);

}

 </source>


Create XmlDataDocument from DataSet

<source lang="csharp">

  1. include "stdafx.h"

using namespace System; using namespace System::Configuration; using namespace System::Data; using namespace System::Data::SqlClient; using namespace System::Xml; void Navigate(XmlNode ^node, int depth) {

   if (node == nullptr)
       return;
   Console::WriteLine(depth);
   Console::WriteLine(node->NodeType.ToString());
   Console::WriteLine(node->Name);
   Console::WriteLine(node->Value);
   if (node->Attributes != nullptr)
   {
       for (int i = 0; i < node->Attributes->Count; i++)
       {
           Console::WriteLine(node->Attributes[i]->Name);
           Console::WriteLine(node->Attributes[i]->Value);
       }
   }
   Navigate(node->FirstChild, depth+1);
   Navigate(node->NextSibling, depth);

} void main(){

   XmlDocument ^doc = gcnew XmlDocument();
   SqlConnection ^connect = gcnew SqlConnection();
   
   connect->ConnectionString = "SQLConnection";
   SqlDataAdapter ^dAdapt = gcnew SqlDataAdapter();
   DataSet ^dSet          = gcnew DataSet();
   dAdapt->SelectCommand  = gcnew SqlCommand("SELECT * FROM Authors", connect);
       
   dAdapt->Fill(dSet, "Authors");
   XmlDataDocument ^doc1 = gcnew XmlDataDocument(dSet);
   Navigate(doc1->DocumentElement, 0);

}

 </source>


Load DataSet

<source lang="csharp">

  1. include "stdafx.h"

using namespace System; using namespace System::Data; using namespace System::Data::OleDb; void main() {

       OleDbConnection^ myConnection = nullptr;
       myConnection = gcnew OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=UltraMax-Music.mdb");
       myConnection->Open();
       
       OleDbCommand^ myCommand = gcnew OleDbCommand("SELECT * FROM Music",myConnection);
       
       OleDbDataReader^ myReader = myCommand->ExecuteReader();
       DataSet^ myDataSet = gcnew DataSet();
       array<String^>^ tables = {"Music"};
       myDataSet->Load(myReader, LoadOption::OverwriteChanges, tables);
       
       Console::WriteLine("{0} rows loaded",myDataSet->Tables[0]->Rows->Count);
       myConnection->Close();

}

 </source>