Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


DataTable




Каждый объект DataTable представляет одну таблицу базы данных. Таблица в каждый конкретный момент своего существования характеризуется:

  • СХЕМОЙ таблицы,
  • СОДЕРЖИМЫМ таблицы (информацией).

При этом СХЕМА таблицы (структура объекта DataTable) определяется двумя наборами:

  • множеством столбцов таблицы (набор DataColumns, состоящий из множества объектов DataColumn),
  • множеством ограничений таблицы (набор Constraints, состоящий из множества объектов Constraint).

 

Учебный проект

 

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.OleDb;

using System.Data.Common;

using System.Collections;

 

namespace WindowsFormsApplication9

{

public partial class Form1 : Form

{

 

public Form1()

{

InitializeComponent();

}

 

DataTable tableCustomers;

OleDbDataAdapter adapter;

 

void MyInit()

{

OleDbConnection objConnection =

new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Engine Type=5; Data Source=c:\\db1.mdb");

OleDbCommand selectCommand = new OleDbCommand();

selectCommand.Connection = objConnection;

selectCommand.CommandText = "SELECT * FROM Работники";

selectCommand.CommandType = CommandType.Text;

adapter = new OleDbDataAdapter(selectCommand);

 

 

tableCustomers = new DataTable();

try

{

adapter.Fill(tableCustomers);

}

catch (OleDbException exc)

{

tableCustomers = null;

MessageBox.Show(exc.Message, "Ошибка",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

finally

{

selectCommand.Connection.Close();

}

tableCustomers.PrimaryKey =

new DataColumn[] { tableCustomers.Columns["Табельный"] };

DataRow row = tableCustomers.Rows.Find(1);

MessageBox.Show(row["Образование"].ToString());

tableCustomers.DefaultView.Sort = "ФИО ASC";

tableCustomers.DefaultView.RowFilter = "[Табельный]>2";

dataGridView1.DataSource = tableCustomers;

DataRow[] rows = tableCustomers.Select("[Образование]='высшее'", "Образование ASC");

listBox1.Items.Clear();

// Заполняем список

foreach (DataRow row1 in rows)

{

listBox1.Items.Add(

"(" + row1["Образование"] + ") " + "\t"

+ row1["Табельный"].ToString());

}

Object result = tableCustomers.Compute("Sum(Табельный)", null);

MessageBox.Show(String.Format("Суммарный табельный (зачем?)\n"

+ "(по курсу 30 грн. за штуку): {0:C}",// Спецификатор денежного формата

Convert.ToDecimal(result) * 30.0m));

 

}

 

new void Update()

{

if (tableCustomers.GetChanges() == null)

return;

 

// Создаем построитель команды

OleDbCommandBuilder commandBuilder =

new OleDbCommandBuilder(adapter);

// Перезаписать поверх

commandBuilder.ConflictOption = ConflictOption.OverwriteChanges;

// Отправить изменения в БД

adapter.Update(tableCustomers);

 

}

 

private void button2_Click(object sender, EventArgs e)

{

Update();

 

}

 

private void button1_Click(object sender, EventArgs e)

{

MyInit();

}

}

}

 


Поделиться:

Дата добавления: 2015-09-15; просмотров: 87; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты