Российская международная академия туризма
Опубликован: 09.09.2008 | Доступ: свободный | Студентов: 807 / 36 | Оценка: 4.33 / 4.33 | Длительность: 13:07:00
Лекция 13:

Запросы

< Лекция 12 || Лекция 13: 12 || Лекция 14 >
Аннотация: В лекции рассмотрены методы выборки данных из таблиц с помощью метода Select() объекта DataTable

Задача темы: изучить методику и получить навыки в разработке методов выборки данных из таблиц

Разработка: Приложение "Запросы" для выборки данных из таблиц движения средств на банковских пластиковых карточках

Состав выполняемых функций:

  • Файловые операции: открыть
  • Алгоритмы: выборка данных по целям платежей и фирмам с группировкой
  • Информационно-справочные: О программе

Наращивание функциональности не предусматривается.

Защита данных – запрет доступа пользователя к данным.

В качестве входных данных используются файлы с данными о движении средств на банковских карточках. Выходные данные программы – графическое отображение результатов в виде таблиц DataGrid для SmartDevice

Шаг 1. Разработка графического интерфейса


Рис. 12.1.

Рис. 12.2.

Предусматривается одна форма с TabControl из двух закладок "Доходы и расходы" с единственным элементом DataGrid и "Структура расходов" с DataGrid и двумя кнопками запуска запросов "По целям" и "По фирмам".

Из невидимых элементов – главное меню с опциями "Открыть", "Выход"; openFileDialog со свойством Filter = Файлы XML (*.xml)|*.xml – примерный дизайн на рис. 12.1 и 12.2.

Шаг 2. Добавляем библиотеки

using System;
using System.Drawing;
using System.Collections;
using System.Windows.Forms;
using System.Data;
//добавляем
using System.IO;
using System.Xml;

Шаг 3. Добавляем переменные в public class Form1 : System.Windows.Forms.Form

string file_name="dataSet.xml";
// глобальный датасет
DataSet dataSet;
DataSet dataSetCell;
//глобальный дататейбл
DataTable dataTable;
DataTable dataCell;
DataTable dataFirma;
DataRow newRow;

Шаг 4. В public Form1() вызываем функцию чтения данных file_read() ;

{
InitializeComponent();
file_read();
}

Шаг 5. Создаем функцию чтения данных из XML-файла

private void file_read() {
FileStream fin;
try {
fin=new FileStream(file_name,FileMode.Open);
fin.Close();
}
catch(IOException exc) {
MessageBox.Show ("Невозможно открыть файл \n"+file_name,"Ошибка");
return;}
// Считываем значения из файла
XmlTextReader xml_in=new XmlTextReader(file_name); 
dataSet=new DataSet();
dataTable=dataSet.Tables.Add("CardVISA");
dataSetCell=new DataSet();
dataCell=dataSetCell.Tables.Add("CardCell");
dataFirma=dataSet.Tables.Add("CardFirma");
dataTable.Columns.Add("Сумма",System.Type.GetType("System.String"));
dataTable.Columns.Add("Цель",System.Type.GetType("System.String"));
dataTable.Columns.Add("Фирма",System.Type.GetType("System.String"));
dataTable.Columns.Add("Дата",System.Type.GetType("System.String"));
dataTable.Columns.Add("ID",System.Type.GetType("System.Int64"));
dataTable.Columns["Сумма"].ReadOnly=true;
dataTable.Columns["Цель"].ReadOnly=true;
dataTable.Columns["Фирма"].ReadOnly=true;
dataTable.Columns["Дата"].ReadOnly=true;
dataTable.Columns["ID"].ReadOnly=true;
dataSet.ReadXml(@xml_in);
xml_in.Close();
DataView sortedView=new DataView(dataTable);
sortedView.Sort="ID DESC";
dataGrid1.DataSource=sortedView;
// добавляем столбцы в dataCell
dataCell.Columns.Add("Процент",System.Type.GetType("System.String"));
dataCell.Columns.Add("Цель",System.Type.GetType("System.String"));
dataCell.Columns.Add("Сумма",System.Type.GetType("System.String"));
// добавляем столбцы в dataFirma 
dataFirma.Columns.Add("Сумма",System.Type.GetType("System.String"));
dataFirma.Columns.Add("Фирма",System.Type.GetType("System.String"));
dataFirma.Columns.Add("Процент",System.Type.GetType("System.String"));
}
< Лекция 12 || Лекция 13: 12 || Лекция 14 >