Министерство образования и науки Российской Федерации
КНИТУ – КАИ имени
---
Кафедра ПМИ
КУРСОВАЯ РАБОТА
по дисциплине
«Базы данных»
Выполнил: ст. гр. 4310
Руководитель:
Оценка_________________
Подпись________________
“___” ________________2012г.
КАЗАНЬ 2012
Оглавление:
Оглавление: 2
Инфологическая модель предметной области. 3
Составление перечня атрибутов предметной области. 3
Определение сущностей. 4
Агрегация атрибутов в сущности. 4
Определение первичных ключей. 5
Графическое представление сущностей. 5
Определение связей. 5
Графическое изображение инфологической модели предметной области. 6
Проектирование концептуальной модели предметной области. 7
Преобразование сущностей в отношения. 7
Установление свойств атрибутов. 8
Графическое изображение концептуальной модели предметной области. 10
Пример запросов к бд: 10
Руководство пользователя. 11
Листинг программы: 14
Список литературы.. 38
Инфологическая модель предметной области
Составление перечня атрибутов предметной области
На основании системного анализа предметной области представим атрибуты в следующей таблице 1.
Таблица 1.
| Обознач. атрибута | Имя атрибута | Примечание |
x1 | Паспорт - Фамилия | |
x2 | Паспорт - Имя | |
x3 | Паспорт - Отчество | |
x4 | Номер паспорта | |
x5 | Номер фото | |
x6 | Номер полиса | |
x7 | Номер визы | |
x8 | Номер приглашения | |
x9 | Код визы | |
x10 | Код паспорта | |
x11 | Код фото | |
x12 | Код загранпаспорта | |
x13 | Код приглашения | |
x14 | Код полиса | |
х15 | Полис - дата начала действия | |
Х16 | Полис – дата конца действия | |
Х17 | Виза – дата начала действия | |
Х19 | Виза – номер паспорта | |
х20 | Виза - категория | |
Х24 | Приглашение – цель визита | |
Х25 | Номер загранпаспорта | |
Х26 | Загранпаспорт - дата начала действия | |
Х27 | Загранпаспорт - дата конца действия |
Определение сущностей
Агрегация атрибутов в сущности
Выявляем типы соответствия атрибутов из полученного перечня:
Y1={x7, x10, x11, x12, x13, x14, x17, x18, x20} – сущность «Виза»
Y2={x5} – сущность «Фото»
Y3={х1, х2, х3, х4} – сущность «Паспорт»
Y4={х6, х15, х16} – сущность «Полис»
Y5={х8, х24} – сущность «Приглашение»
Y6={х25, х26, х27} – сущность «Загранпаспорт»
Результат агрегации атрибутов в сущности представим в таблице 2.:
Таблица 2.
Обозначение сущности | Имя сущности | Список атрибутов |
Y1 | виза | x7, x10, x11, x12, x13, x14, x17, x18, x20 |
Y2 | Фото | Х5 |
Y3 | Паспорт | х1, х2, х3, х4 |
Y4 | Полис | х6, х15, х16 |
Y5 | Приглашение | х8, х24 |
Y6 | Загранпаспорт | х25, х26, х27 |
Определение первичных ключей
Первичные ключи полученных сущностей приведены в таблице 3.:
Таблица 3.
Сущности | Первичные ключи |
виза | Х9 – код визы |
фото | Х11 – код фото |
паспорт | Х10 – код паспорта |
полис | Х14 – код полиса |
приглашение | Х15 – код приглашения |
загранпаспорт | Х12 – код загранпаспорта |
Графическое представление сущностей

Определение связей
Внесем информацию о связях в таблицу 4.:
Таблица 4.
Сущность 1 | Сущность 2 | Тип связи | Обязательность |
виза | фото | 1:1 | 1-1 |
виза | паспорт | 1:1 | 1-1 |
виза | полис | 1:1 | 1-1 |
виза | приглашение | 1:1 | 1-1 |
виза | загранпаспорт | 1:1 | 1-1 |
Графическое изображение инфологической модели предметной области


Проектирование концептуальной модели предметной области
Преобразование сущностей в отношения
1. Преобразование сущности ФОТО в отношение PHOTO:


2. Преобразование сущности ПРИГЛАШЕНИЕ в отношение INVITATION:


3. Преобразование сущности ПАСПОРТв отношение PASPORT:

4. Преобразование сущности ВИЗА в отношение VISA:


Преобразование сущности ПОЛИС в отношение POLICY:


5. Преобразование сущности ЗАГРАНПАСПОРТ в отношение INT_PASPORT


Установление свойств атрибутов
1. Свойства атрибутов отношения PHOTO:
Атрибут | Тип |
PHOTO_CODE | Int Not Null |
PHOTO_NUM | Int Not Null |
2. Свойства атрибутов отношения INVITATION:
Атрибут | Тип |
INV_CODE | Int Not Null |
INV_NUM | Int Not Null |
INV_PURP_OF_VISIT | Varchar(40) Not Null |
3. Свойства атрибутов отношения PASPORT:
Атрибут | Тип |
PASPORT_CODE | Int Not Null |
PASPORT_SURNAME | Varchar(30) Not Null |
PASPORT_NAME | Varchar(30) Not Null |
PASPORT_MIDDLE | Varchar(30) Not Null |
PASPORT_NUM | Int Not Null |
4. Свойства атрибутов отношения VISA:
Атрибут | Тип |
VISA_CODE | Int not Null |
VISA_NUM | Int not Null |
PASPORT_CODE | Int not Null |
PHOTO_CODE | Int not Null |
INT_PASPORT_CODE | Int not Null |
INV_CODE | Int not Null |
POLICY_CODE | Int not Null |
VISA_BEGINS | Date Not Null |
VISA_ENDS | Date Not Null |
VISA_CATEGORY | Varchar(1) Not Null |
5. Свойства атрибутов отношения POLICY:
Атрибут | Тип |
POLICY_CODE | Int Not Null |
POLICY_NUM | Int Not Null |
POLICY_BEGINS | Date Not Null |
POLICY_ENDS | Date Not Null |
6. Свойства атрибутов отношения INT_PASPORT
Атрибут | Тип |
INT_PASPORT_CODE | Int Not Null |
INT_PASPORT_NUM | Int Not Null |
INT_PASPORT_BEGINS | Date Not Null |
INT_PASPORT_ENDS | Date Not Null |
Графическое изображение концептуальной модели предметной области

Пример запросов к бд:
Вставка строки в таблицу PHOTO
INSERT INTO photo (photo. photo_code, photo. photo_num) VALUES
(1, 54);
Обновление записи в таблице PHOTO
UPDATE photo SET photo. photo_num = 63
WHERE photo. photo_code = 1;
Удаление записи из таблицы PHOTO
DELETE FROM photo
WHERE photo_num = 63
Руководство пользователя

Программа состоит из одной формы, на которой располагаются элементы для ввода данных, таблица для отображения результатов и меню с тремя операциями и выбором активной таблицы.

Активная таблица выбирается из выпадающего меню.

Для добавления записи в таблицу необходимо указать значения полей и нажать на кнопку «Добавить».

Новая запись добавлена в таблицу.

Для удаления записей из таблицы необходимо указать значения полей удаляемых записей и нажать на кнопку «Удалить».Некоторые поля могут быть опущены.


Для поиска записей из таблицы необходимо указать значения полей искомых записей и нажать на кнопку «Поиск».Некоторые поля могут быть опущены.

Листинг программы:
Form1.cs
using System;
using System. Collections. Generic;
using ponentModel;
using System. Data;
using System. Drawing;
using System. Text;
using System. Windows. Forms;
namespace kai
{
public partial class Form1 : Form
{
private string[] table = new string[3] ;
public Form1()
{
InitializeComponent();
refresh_data(true);
toolStripComboBox1.SelectedIndex = 0;
//refresh_data();
// пол
//comboBox2.SelectedIndex = 0;
// дата рождения
/* dateTimePicker1.Value = DateTime. Today;
dateTimePicker1.Value = DateTime. Today. AddMonths(-1);*/
}
private void refresh_data(bool force)
{
dbwork db = new dbwork();
DataTable dt;
if (groupBox2.Visible || force)
{
// dataGridView1.DataSource = dt;
dt = db. getData("pasport");
comboBox2.DataSource = dt;
comboBox2.ValueMember = "pasport_code";
}
if (groupBox3.Visible || force)
{
dt = db. getData("photo");
comboBox3.DataSource = dt;
comboBox3.ValueMember = "photo_code";
}
if (groupBox4.Visible || force)
{
dt = db. getData("int_pasport");
comboBox4.DataSource = dt;
comboBox4.ValueMember = "INT_PASPORT_CODE";
}
if (groupBox5.Visible || force)
{
dt = db. getData("INVITATION");
comboBox5.DataSource = dt;
comboBox5.ValueMember = "INV_CODE";
}
if (groupBox6.Visible || force)
{
dt = db. getData("POLICY");
comboBox6.DataSource = dt;
comboBox6.ValueMember = "POLICY_CODE";
}
if (table[0] != null)
{
dt = db. getData(table[0]);
dataGridView1.DataSource = dt;
}
}
public int getmaxcode(string tabl)
{
dbwork db = new dbwork();
DataTable dt;
dt = db. getData(tabl); int max = 0,y;
for (int i = 0; i <dt. Rows. Count; i++)
{
y = (int)dt. Rows[i].ItemArray[0];
if (y > max)
{
max = y;
}
}
return (max);
}
private string[] getparams()
{
string[] data = new string[17];
if (groupBox1.Visible)
{
data[1] += comboBox1.Text. Trim(); ;
}
if (groupBox2.Visible)
{
data[2] += comboBox2.Text. Trim(); ;
}
if (groupBox3.Visible)
{
data[3] += comboBox3.Text. Trim(); ;
}
if (groupBox4.Visible)
{
data[4] += comboBox4.Text. Trim(); ;
}
if (groupBox5.Visible)
{
data[5] += comboBox5.Text. Trim(); ;
}
if (groupBox6.Visible)
{
data[6] += comboBox6.Text. Trim(); ;
}
if (groupBox7.Visible)
{
data[7] += comboBox7.Text. Trim(); ;
}
if (groupBox8.Visible)
{
data[8] += comboBox8.Text. Trim(); ;
}
if (groupBox11.Visible)
{
data[9] += comboBox9.Text. Trim(); ;
}
if (groupBox12.Visible)
{
data[10] += comboBox10.Text. Trim(); ;
}
if (groupBox13.Visible)
{
data[11] += comboBox11.Text. Trim(); ;
}
if (groupBox14.Visible)
{
data[12] += comboBox12.Text. Trim(); ;
}
if (groupBox15.Visible)
{
data[13] += comboBox13.Text. Trim(); ;
}
if (groupBox16.Visible)
{
data[14] += comboBox14.Text. Trim(); ;
}
if (groupBox17.Visible)
{
data[15] += comboBox15.Text. Trim(); ;
}
if (groupBox18.Visible)
{
data[16] += comboBox16.Text. Trim(); ;
}
return data;
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
string[] data;
DateTime from = new DateTime(1, 1, 1);
DateTime to = new DateTime(1, 1, 1);
if (groupBox9.Visible )
{
from = dateTimePicker1.Value;
}
if (groupBox10.Visible )
{
to = dateTimePicker2.Value;
}
data = getparams();
dbwork db = new dbwork();
db. add(data, table, from, to);
refresh_data(false);
table[2] = getmaxcode(table[0]).ToString();
/*gridCitizen. AutoGenerateColumns = false;
gridCitizen. DataSource = dt;
refresh_data(false);*/
}
private void toolStripButton2_Click(object sender, EventArgs e)
{
string[] data;
DateTime from = new DateTime(1, 1, 1);
DateTime to = new DateTime(1, 1, 1);
if (groupBox9.Visible)
{
from = dateTimePicker1.Value;
}
if (groupBox10.Visible)
{
to = dateTimePicker2.Value;
}
data = getparams();
dbwork db = new dbwork();
db. del(data, table, from, to);
refresh_data(false);
table[2] = getmaxcode(table[0]).ToString();
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
string[] data;
DateTime from = new DateTime(1, 1, 1);
DateTime to = new DateTime(1, 1, 1);
if (groupBox9.Visible)
{
from = dateTimePicker1.Value;
}
if (groupBox10.Visible)
{
to = dateTimePicker2.Value;
}
data = getparams();
dbwork db = new dbwork();
DataTable dt = db. search(data, table, from, to);
dataGridView1.DataSource = dt;
}
private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (toolStripComboBox1.Text)
{
case("виза"):
{
groupBox1.Visible = true; groupBox2.Visible = true; groupBox3.Visible = true; groupBox4.Visible = true;
groupBox5.Visible = true; groupBox6.Visible = true; groupBox7.Visible = false; groupBox8.Visible = true;
groupBox9.Visible = true; groupBox10.Visible = true; groupBox11.Visible = false; groupBox12.Visible = false;
groupBox13.Visible = false; groupBox14.Visible = false;groupBox15.Visible = false; groupBox16.Visible = false;
groupBox17.Visible = false; groupBox18.Visible = false;
table[0] = "VISA"; table[1] = "VISA_CODE";
table[2] = getmaxcode(table[0]).ToString();
break;
}
case ("паспорт"):
{
groupBox1.Visible = false; groupBox2.Visible = false; groupBox3.Visible = false; groupBox4.Visible = false;
groupBox5.Visible = false; groupBox6.Visible = false; groupBox7.Visible = true; groupBox8.Visible = false;
groupBox9.Visible = false; groupBox10.Visible = false; groupBox11.Visible = false; groupBox12.Visible = true;
groupBox13.Visible = true; groupBox14.Visible = true; groupBox15.Visible = false; groupBox16.Visible = false;
groupBox17.Visible = false; groupBox18.Visible = false;
table[0] = "PASPORT"; table[1] = "PASPORT_CODE";
table[2] = getmaxcode(table[0]).ToString();
break;
}
case ("фото"):
{
groupBox1.Visible = false; groupBox2.Visible = false; groupBox3.Visible = false; groupBox4.Visible = false;
groupBox5.Visible = false; groupBox6.Visible = false; groupBox7.Visible = false; groupBox8.Visible = false;
groupBox9.Visible = false; groupBox10.Visible = false; groupBox11.Visible = false; groupBox12.Visible = false;
groupBox13.Visible = false; groupBox14.Visible = false; groupBox15.Visible = true; groupBox16.Visible = false;
groupBox17.Visible = false; groupBox18.Visible = false;
table[0] = "PHOTO"; table[1] = "PHOTO_CODE"; int max = 0;
table[2] = getmaxcode(table[0]).ToString();
break;
}
case ("загранпаспорт"):
{
groupBox1.Visible = false; groupBox2.Visible = false; groupBox3.Visible = false; groupBox4.Visible = false;
groupBox5.Visible = false; groupBox6.Visible = false; groupBox7.Visible = false; groupBox8.Visible = false;
groupBox9.Visible = true; groupBox10.Visible = true; groupBox11.Visible = false; groupBox12.Visible = false;
groupBox13.Visible = false; groupBox14.Visible = false; groupBox15.Visible = false; groupBox16.Visible = true;
groupBox17.Visible = false; groupBox18.Visible = false;
table[0] = "INT_PASPORT"; table[1] = "INT_PASPORT_CODE"; int max = 0;
table[2] = getmaxcode(table[0]).ToString();
break;
}
case ("приглашение"):
{
groupBox1.Visible = false; groupBox2.Visible = false; groupBox3.Visible = false; groupBox4.Visible = false;
groupBox5.Visible = false; groupBox6.Visible = false; groupBox7.Visible = false; groupBox8.Visible = false;
groupBox9.Visible = false; groupBox10.Visible = false; groupBox11.Visible = true; groupBox12.Visible = false;
groupBox13.Visible = false; groupBox14.Visible = false; groupBox15.Visible = false; groupBox16.Visible = false;
groupBox17.Visible = true; groupBox18.Visible = false;
table[0] = "INVITATION"; table[1] = "INV_CODE"; int max = 0;
table[2] = getmaxcode(table[0]).ToString();
break;
}
case ("полис"):
{
groupBox1.Visible = false; groupBox2.Visible = false; groupBox3.Visible = false; groupBox4.Visible = false;
groupBox5.Visible = false; groupBox6.Visible = false; groupBox7.Visible = false; groupBox8.Visible = false;
groupBox9.Visible = true; groupBox10.Visible = true; groupBox11.Visible = false; groupBox12.Visible = false;
groupBox13.Visible = false; groupBox14.Visible = false; groupBox15.Visible = false; groupBox16.Visible = false;
groupBox17.Visible = false; groupBox18.Visible = true;
table[0] = "POLICY"; table[1] = "POLICY_CODE"; int max = 0;
table[2] = getmaxcode(table[0]).ToString();
break;
}
}
refresh_data(false);
}
}
}
dbwork. cs
using System;
using System. Collections. Generic;
using System. Text;
using FirebirdSql. Data. FirebirdClient;
using System. Data;
namespace kai
{
class dbwork
{
private string[] fields = new string[] { "VISA_NUM", "PASPORT_CODE", "PHOTO_CODE", "INT_PASPORT_CODE", "INV_CODE", "POLICY_CODE"
, "PASPORT_NUM", "VISA_CATEGORY", "INV_PURP_OF_VISIT", "PASPORT_NAME", "PASPORT_SURNAME", "PASPORT_MIDDLE"
, "PHOTO_NUM", "INT_PASPORT_NUM", "INV_NUM", "POLICY_NUM"};
private string[] date_fields = new string[] { "VISA_BEGINS", "VISA_ENDS", "POLICY_BEGINS", "POLICY_ENDS", "INT_PASPORT_BEGINS", "INT_PASPORT_ENDS" };
//-----
public string getConnectionString()
{
FbConnectionStringBuilder connectionString = new FbConnectionStringBuilder();
connectionString. DataSource = "localhost";
//@ - отключает управляющие символы типа \n
connectionString. Database = @"D:\dark\program\c#\sql\kurs\kurs. FDB";
connectionString. UserID = "SYSDBA";
connectionString. Password = "masterkey";
connectionString. Dialect = 3;
connectionString. Role = "ADMINISTRATOR";
connectionString. Charset = "WIN1251";
return connectionString. ToString();
}
public DataTable OpenSQL
(
string sqlString,
DataTable existTable,
FbConnection connectionID
)
{
//Если на вход не подали таблицу - создать
if (existTable == null) existTable = new DataTable();
//выполнить запрос
if (sqlString!= "")
{
try
{
FbCommand myCommand = new FbCommand(sqlString, connectionID);
mandTimeout = 180;
using (FbDataReader reader =
myCommand. ExecuteReader(CommandBehavior. SingleResult))
{
existTable. Load(reader, LoadOption. OverwriteChanges);
reader. Close();
return existTable;
}
}
catch (/*Exception ex*/FieldAccessException ex)
{
throw
new Exception("Ошибка выполнения запроса к БД: " + ex. Message +
Environment. NewLine +
"Текст запроса: [" + sqlString + "]");
}
}
else
throw new Exception("Не задан текст запроса");
}
//----
public DataTable getData(string what)
{
//----
// Формирование строки параметров соединения
//----
string cs = this. getConnectionString();
try
{
//----
// Создать соединение с БД
//----
using (FbConnection connectionID = new FbConnection(cs))
{
//----
// Открыть соединение с БД
//----
connectionID. Open();
string sqlString = " select * from "+what. Trim();
DataTable result = new DataTable();
result = this. OpenSQL(sqlString, result, connectionID);
return result;
}
}
catch (Exception e)
{
return new DataTable();
}
}
public void add(string[] param, string[] table, DateTime from, DateTime to)
{
//----
// Формирование строки параметров соединения
//----
string cs = this. getConnectionString();
try
{
//----
// Создать соединение с БД
//----
using (FbConnection connectionID = new FbConnection(cs))
{
//----
// Открыть соединение с БД
//----
connectionID. Open();
DateTime nullDate = new DateTime(1, 1, 1);
// построить sql-запрос
//
string sql=" INSERT INTO "+table[0]+" "+"(";
//List<string> data = new List<string>(table. Split('|'));
//INSERT INTO photo (photo. photo_code, photo. photo_num) VALUES(1, 54);
bool first = true;
for(int i=1;i<17;i++)
{
if(param[i]!=null)
{
if (!first) { sql += ", "; } else { first = false; }
sql+=fields[i-1];
}
}
if (from!= nullDate)
{
switch (table[0])
{
case ("VISA"):
{
sql += ", "+date_fields[0] + ", " + date_fields[1] ;
break;
}
case ("INT_PASPORT"):
{
sql += ", " + date_fields[4] + ", " + date_fields[5] ;
break;
}
case ("POLICY"):
{
sql += ", " + date_fields[2] + ", " + date_fields[3] ;
break;
}
}
}
sql += ", " + table[1];
sql+=") VALUES(";
first = true; string tmp2="";
for (int i = 1; i < 17; i++)
{
if (param[i] != null )
{
if (!first) { sql += ", "; } else { first = false; }
try
{
Convert. ToInt32(param[i]);
tmp2 = param[i].ToString();
}
catch (FormatException e)
{
tmp2 = "'" + param[i] + "'";
}
sql += tmp2;
}
}
if (from!= nullDate)
{
sql+=", '"+from. ToShortDateString()+"', '";
sql += to. ToShortDateString() +"'";
}
int tmp = Convert. ToInt32(table[2]) + 1;
sql += ", "+tmp;
sql += ");";
/* if (born_on_from!= nullDate) sql += " and c. born_on >= '" + born_on_from. ToShortDateString() + "'";
if (born_on_to!= nullDate) sql += " and c. born_on <= '" + born_on_to. ToShortDateString() + "'";
*/
//sql = " INSERT INTO "+table+" " ;
FbCommand myCommand = new FbCommand(sql, connectionID);
mandTimeout = 180;
myCommand. ExecuteNonQuery();
// result = this. OpenSQL(sql, result, connectionID);
return;
}
}
catch (FieldAccessException e)
{
return;
}
//return;
}
private string makeconditions(string[] param, string[] table, DateTime from, DateTime to)
{
string tmp2,sql="";
DateTime nullDate = new DateTime(1, 1, 1);
for (int i = 1; i < 17; i++)
{
if (param[i] != null&&!param[i].Equals(string. Empty))
{
try
{
Convert. ToInt32(param[i]);
tmp2 = param[i].ToString();
}
catch (FormatException e)
{
tmp2 = "'" + param[i] + "'";
}
sql += " and ";
sql += fields[i - 1] + " = " + tmp2;
}
}
if (from!= nullDate)
{
switch (table[0])
{
case ("VISA"):
{
sql += " and " + date_fields[0] + ">= " + "'" + from. ToShortDateString() + "'"
+ " and " + date_fields[1] + "<= " + "'" + to. ToShortDateString() + "'";
break;
}
case ("INT_PASPORT"):
{
sql += " and " + date_fields[4] + ">= " + "'" + from. ToShortDateString() + "'"
+ " and " + date_fields[5] + "<= " + "'" + to. ToShortDateString() + "'";
break;
}
case ("POLICY"):
{
sql += " and " + date_fields[2] + ">= " + "'" + from. ToShortDateString() + "'"
+ " and " + date_fields[3] + "<= " + "'" + to. ToShortDateString() + "'";
break;
}
}
}
return (sql);
}
public void del(string[] param, string[] table, DateTime from, DateTime to)
{
//----
// Формирование строки параметров соединения
//----
string cs = this. getConnectionString();
try
{
//----
// Создать соединение с БД
//----
using (FbConnection connectionID = new FbConnection(cs))
{
//----
// Открыть соединение с БД
//----
connectionID. Open();
// построить sql-запрос
//
string sql=" DELETE FROM "+table[0]+" where 1=1 ";
//DELETE FROM photo WHERE photo_num = 63
sql += makeconditions(param, table, from, to);
sql+=" ;";
DataTable result = new DataTable();
FbCommand myCommand = new FbCommand(sql, connectionID);
mandTimeout = 180;
myCommand. ExecuteNonQuery();
// result = this. OpenSQL(sql, result, connectionID);
return;
}
}
catch (FieldAccessException e)
{
return;
}
}
public DataTable search(string[] param, string[] table, DateTime from, DateTime to)
{
//----
// Формирование строки параметров соединения
//----
string cs = this. getConnectionString();
try
{
//----
// Создать соединение с БД
//----
using (FbConnection connectionID = new FbConnection(cs))
{
//----
// Открыть соединение с БД
//----
connectionID. Open();
// построить sql-запрос
//
string sql = " select * FROM " + table[0] + " where 1=1 ";
//DELETE FROM photo WHERE photo_num = 63
sql += makeconditions(param, table, from, to);
sql += " ;";
DataTable result = new DataTable();
/*FbCommand myCommand = new FbCommand(sql, connectionID);
mandTimeout = 180;
myCommand. ExecuteNonQuery();*/
result = this. OpenSQL(sql, result, connectionID);
return result;
}
}
catch (FieldAccessException e)
{
return new DataTable();
}
}
}
}
Список литературы
1. , , Новикова язык запросов SQL к базам данных в многопользовательских системах: Учебное пособие: Для студентов факультета технической кибернетики и информатики. – Казань: Изд-во КГТУ, 2002. – 59 с.
2. , Хомоненко с базами данных в Delphi, 2-е издание. – СПб.: БХВ-Петербург, 2000. – 624 с.
3. Delphi 5: для пользователя. – К.: Издательская группа BHV, 2000. – 496 с.
4. Аллен Дж. Тейлор. SQL, 4-е издание. – М.: Издательский дом «Вильямс», 2001. – 368 с.
5. , Ревунков данных: Учеб. для вузов. – М.: Изд-во МГТУ им. , 2002. – 320 с.
6. Скляр в InterBase. – М.: Горячая линия-Телеком, 2002. – 517 с.
7. Мартин Дж. Организация баз данных в вычислительных системах / Пер. с англ. – М.: Мир, 1980. – 664 с.
8. , Савинков баз данных информационных систем. – М.: Финансы и статистика, 1989. – 351 с.


