КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
DataTable ⇐ ПредыдущаяСтр 2 из 2 Каждый объект DataTable представляет одну таблицу базы данных. Таблица в каждый конкретный момент своего существования характеризуется:
При этом СХЕМА таблицы (структура объекта DataTable) определяется двумя наборами:
Учебный проект
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(); } } }
|