<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Visual_C%2B%2B_.NET%2FDatabase_ADO.net%2FDataTable</id>
		<title>Visual C++ .NET/Database ADO.net/DataTable - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Visual_C%2B%2B_.NET%2FDatabase_ADO.net%2FDataTable"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Visual_C%2B%2B_.NET/Database_ADO.net/DataTable&amp;action=history"/>
		<updated>2026-04-30T21:02:04Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Visual_C%2B%2B_.NET/Database_ADO.net/DataTable&amp;diff=3860&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Visual_C%2B%2B_.NET/Database_ADO.net/DataTable&amp;diff=3860&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:02Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Visual_C%2B%2B_.NET/Database_ADO.net/DataTable&amp;diff=3861&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Visual_C%2B%2B_.NET/Database_ADO.net/DataTable&amp;diff=3861&amp;oldid=prev"/>
				<updated>2010-05-26T12:06:22Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Add columns to DataTable==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&gt;
#include &amp;quot;stdafx.h&amp;quot;&lt;br /&gt;
using namespace System;&lt;br /&gt;
using namespace System::Data;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    DataSet^ myDataSet = gcnew DataSet(&amp;quot;Game Data&amp;quot;);&lt;br /&gt;
    myDataSet-&amp;gt;Tables-&amp;gt;Add(&amp;quot;Player&amp;quot;);&lt;br /&gt;
    myDataSet-&amp;gt;Tables-&amp;gt;Add(&amp;quot;Score&amp;quot;);&lt;br /&gt;
    DataTable^ playerTable = myDataSet-&amp;gt;Tables[&amp;quot;Player&amp;quot;];&lt;br /&gt;
    DataColumn^ firstNameColumn1 = playerTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;First Name&amp;quot;,String::typeid);&lt;br /&gt;
    DataColumn^ lastNameColumn1 = playerTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;Last Name&amp;quot;,String::typeid);&lt;br /&gt;
    playerTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;Email&amp;quot;, String::typeid);&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Add foreign key to the DataTable==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&gt;
#include &amp;quot;stdafx.h&amp;quot;&lt;br /&gt;
using namespace System;&lt;br /&gt;
using namespace System::Data;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    DataSet^ myDataSet = gcnew DataSet(&amp;quot;Game Data&amp;quot;);&lt;br /&gt;
    myDataSet-&amp;gt;Tables-&amp;gt;Add(&amp;quot;Player&amp;quot;);&lt;br /&gt;
    myDataSet-&amp;gt;Tables-&amp;gt;Add(&amp;quot;Score&amp;quot;);&lt;br /&gt;
    DataTable^ playerTable = myDataSet-&amp;gt;Tables[&amp;quot;Player&amp;quot;];&lt;br /&gt;
    DataColumn^ firstNameColumn1 = playerTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;First Name&amp;quot;,String::typeid);&lt;br /&gt;
    DataColumn^ lastNameColumn1 = playerTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;Last Name&amp;quot;,String::typeid);&lt;br /&gt;
    playerTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;Email&amp;quot;, String::typeid);&lt;br /&gt;
    array&amp;lt;DataColumn^&amp;gt;^ primaryKey = {firstNameColumn1, lastNameColumn1};&lt;br /&gt;
    playerTable-&amp;gt;Constraints-&amp;gt;Add(&amp;quot;PlayerPK&amp;quot;, primaryKey, true);&lt;br /&gt;
    // Add columns to 2nd table&lt;br /&gt;
    DataTable^ ScoreTable = myDataSet-&amp;gt;Tables[&amp;quot;Score&amp;quot;];&lt;br /&gt;
    DataColumn^ firstNameColumn2 = ScoreTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;First Name&amp;quot;,String::typeid);&lt;br /&gt;
    DataColumn^ lastNameColumn2 = ScoreTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;Last Name&amp;quot;,String::typeid);&lt;br /&gt;
    ScoreTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;Points&amp;quot;, int::typeid);&lt;br /&gt;
    array&amp;lt;DataColumn^&amp;gt;^ foreignKey = {firstNameColumn2, lastNameColumn2};&lt;br /&gt;
    ScoreTable-&amp;gt;Constraints-&amp;gt;Add(&amp;quot;PlayerFK&amp;quot;, primaryKey, foreignKey);&lt;br /&gt;
    // (Same as establish a data relation)&lt;br /&gt;
    //myDataSet-&amp;gt;Relations-&amp;gt;Add(&amp;quot;Player-Score&amp;quot;, PrimaryKey, ForeignKey);&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Add primary key constraints to DataTable==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&gt;
#include &amp;quot;stdafx.h&amp;quot;&lt;br /&gt;
using namespace System;&lt;br /&gt;
using namespace System::Data;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    DataSet^ myDataSet = gcnew DataSet(&amp;quot;Game Data&amp;quot;);&lt;br /&gt;
    myDataSet-&amp;gt;Tables-&amp;gt;Add(&amp;quot;Player&amp;quot;);&lt;br /&gt;
    myDataSet-&amp;gt;Tables-&amp;gt;Add(&amp;quot;Score&amp;quot;);&lt;br /&gt;
    DataTable^ playerTable = myDataSet-&amp;gt;Tables[&amp;quot;Player&amp;quot;];&lt;br /&gt;
    DataColumn^ firstNameColumn1 = playerTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;First Name&amp;quot;,String::typeid);&lt;br /&gt;
    DataColumn^ lastNameColumn1 = playerTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;Last Name&amp;quot;,String::typeid);&lt;br /&gt;
    playerTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;Email&amp;quot;, String::typeid);&lt;br /&gt;
    array&amp;lt;DataColumn^&amp;gt;^ primaryKey = {firstNameColumn1, lastNameColumn1};&lt;br /&gt;
    playerTable-&amp;gt;Constraints-&amp;gt;Add(&amp;quot;PlayerPK&amp;quot;, primaryKey, true);&lt;br /&gt;
    // (Same as creating the composite primary key)&lt;br /&gt;
    //playerTable-&amp;gt;PrimaryKey = PrimaryKey;&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Data Relations==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&gt;
#include &amp;quot;stdafx.h&amp;quot;&lt;br /&gt;
using namespace System;&lt;br /&gt;
using namespace System::Data;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    DataSet^ myDataSet = gcnew DataSet(&amp;quot;Game Data&amp;quot;);&lt;br /&gt;
    DataTable^ playerTable = myDataSet-&amp;gt;Tables-&amp;gt;Add(&amp;quot;Player&amp;quot;);&lt;br /&gt;
    DataTable^ scoreTable = myDataSet-&amp;gt;Tables-&amp;gt;Add(&amp;quot;Score&amp;quot;);&lt;br /&gt;
    DataColumn^ firstNameColumn1 = playerTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;First Name&amp;quot;,String::typeid);&lt;br /&gt;
    DataColumn^ lastNameColumn1 = playerTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;Last Name&amp;quot;,String::typeid);&lt;br /&gt;
    playerTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;Email&amp;quot;, String::typeid);&lt;br /&gt;
    array&amp;lt;DataColumn^&amp;gt;^ primaryKey = {firstNameColumn1, lastNameColumn1};&lt;br /&gt;
    playerTable-&amp;gt;PrimaryKey = primaryKey;&lt;br /&gt;
    DataColumn^ firstNameColumn2 = scoreTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;First Name&amp;quot;,String::typeid);&lt;br /&gt;
    DataColumn^ lastNameColumn2 = scoreTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;Last Name&amp;quot;,String::typeid);&lt;br /&gt;
    scoreTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;Points&amp;quot;, int::typeid);&lt;br /&gt;
    array&amp;lt;DataColumn^&amp;gt;^ foreignKey = {firstNameColumn2, lastNameColumn2};&lt;br /&gt;
    myDataSet-&amp;gt;Relations-&amp;gt;Add(&amp;quot;Player-Score&amp;quot;, primaryKey, foreignKey);&lt;br /&gt;
    myDataSet-&amp;gt;Tables[&amp;quot;Score&amp;quot;]-&amp;gt;Constraints-&amp;gt;Add(&amp;quot;Unique&amp;quot;,foreignKey, true);&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Table Mapping==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&gt;
#include &amp;quot;stdafx.h&amp;quot;&lt;br /&gt;
using namespace System;&lt;br /&gt;
using namespace System::Data;&lt;br /&gt;
using namespace System::Data::Common;&lt;br /&gt;
using namespace System::Data::OleDb;&lt;br /&gt;
using namespace System::Data::SqlClient;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    OleDbConnection^ myConnection = nullptr;&lt;br /&gt;
    myConnection = gcnew OleDbConnection(&amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Music.mdb&amp;quot;);&lt;br /&gt;
    myConnection-&amp;gt;Open();&lt;br /&gt;
    OleDbDataAdapter^ dataAdapter = gcnew OleDbDataAdapter(&amp;quot;SELECT * FROM Music&amp;quot;, myConnection);&lt;br /&gt;
    DataSet^ myDataSet = gcnew DataSet();&lt;br /&gt;
    DataTable^ newMusicTable = myDataSet-&amp;gt;Tables-&amp;gt;Add(&amp;quot;New Music&amp;quot;);&lt;br /&gt;
    newMusicTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;Title&amp;quot;);&lt;br /&gt;
    newMusicTable-&amp;gt;Columns-&amp;gt;Add(&amp;quot;Duration&amp;quot;);&lt;br /&gt;
    DataTableMapping^ myMapping = dataAdapter-&amp;gt;TableMappings-&amp;gt;Add(&amp;quot;Music&amp;quot;, &amp;quot;New Music&amp;quot;);&lt;br /&gt;
    myMapping-&amp;gt;ColumnMappings-&amp;gt;Add(&amp;quot;Title&amp;quot;, &amp;quot;Title&amp;quot;);&lt;br /&gt;
    myMapping-&amp;gt;ColumnMappings-&amp;gt;Add(&amp;quot;Duration&amp;quot;, &amp;quot;Duration&amp;quot;);&lt;br /&gt;
    dataAdapter-&amp;gt;MissingSchemaAction = MissingSchemaAction::Ignore;&lt;br /&gt;
    dataAdapter-&amp;gt;Fill(myDataSet, &amp;quot;Music&amp;quot;);&lt;br /&gt;
    for ( int i = 0; i &amp;lt; newMusicTable-&amp;gt;Rows-&amp;gt;Count; i++ ){&lt;br /&gt;
        Console::WriteLine(newMusicTable-&amp;gt;Rows[i][&amp;quot;Title&amp;quot;]);&lt;br /&gt;
        Console::WriteLine(newMusicTable-&amp;gt;Rows[i][&amp;quot;Duration&amp;quot;]);&lt;br /&gt;
    }&lt;br /&gt;
    myConnection-&amp;gt;Close();&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>