DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Проектування реляційної бази даних MS SQL Server 2005 та клієнтської програми на основі ADO.NET 4.0

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2013
Тип роботи:
Розрахунково - графічна робота
Предмет:
Бази даних та знань

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" / Звіт до Графічно–розрахункової роботи на тему: ” Проектування реляційної бази даних MS SQL Server 2005 та клієнтської програми на основі ADO.NET 2.0 ” Venture Market з курсу: “Бази даних та знань” Мета контрольної роботи: Закріпити отримані при вивченні даного курсу знання і навики проектування ER-моделі реляційної бази даних з використанням IE-нотації та реалізації цієї моделі для СКБД Microsoft SQL Server 2005 у вигляді SQL-сценарію діалектом мови Transact-SQL. Ознайомитися з основними об’єктами моделі ADO.NET 2.0 та на їхній основі навчитися отримувати, модифікувати, зберігати, шукати та фільтрувати дані. Отримати навики розроблення клієнтських програм для баз даних з ієрархічною організацією структури даних. Team8 – ComAim Venture Market Завдання: User story 3: Керівник стартапу може переглянути бізнес-ангелів та інвестиційні компанії, внесені в систему: - Створити запит до бази даних і вичитати дані з допомогою ADO.NET ( див приклад в методичці) ; - Створити базові записи в базі даних - інвестиційні компанії - 2 шт, інвестиційні менеджери- по 3 шт в кожній компанії, бізнес-ангели - 6 шт; - Створити графічний інтерфейс для відображення цих даних - вигляд інтерфейсу узгоджується з Product Owner. Опис проекту: / Функції продукту Бізнес-ангел або представники інвестиційної компанії можуть переглянути стартапи, погруповані по бізнес-інкубаторах; Керівник стартапу може переглянути бізнес-ангелів та інвестиційні компанії, внесені в систему; Керівник стартапу може створити заявку на фінансування. Короткі теоретичні відомості: Структура моделі ADO.NET. Модель ADO.NET є складовою частиною платформи Microsoft .NET Framework. Тому клієнтську програму розробляють з використанням високорівневих мов C++/CLI, C#, Visual Basic на основі бібліотеки класів .NET Framework, а сама програма виконується в CLR-середовищі. Модель ADO.NET забезпечує взаємодію з різними системами керування базами даних, шляхом використання відповідних їм провайдерів (постачальників даних). / Базові класи Sql Client .NET Data Provider: / Модель ADO.NET умовно поділяється на дві групи об’єктів: під’єднані та від’єднані (на рис. 4.1 вони розділені вертикальною штриховою лінією). Під’єднані об’єкти, що представляють відповідний провайдер, безпосередньо взаємодіють з БД та використовуються для керування з’єднанням, транзакціями, для вибірки даних та передачі відповідних змін у БД. Від’єднані об’єкти дають можливість працювати з даними автономно і від вибору провайдера не залежать. Мостиком між цими двома групами об’єктів є об’єкт DataAdapter. Діаграма БД / Код програми: Program.cs: using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace ComAim___Venture_Market { static class Program { /// <summary> /// Главная точка входа для приложения. /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } } Form1.cs: 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.SqlClient; namespace ComAim___Venture_Market { public partial class Form1 : Form { static string cn = (@"Data Source = OLEH-PC;" + "Initial Catalog = ComAim;" + "Persist Security Info = True; User ID = sa; Password = farik181818"); SqlConnection con = new SqlConnection(cn); SqlDataAdapter da; DataTable dt = new DataTable(); SqlCommand cmd; public static string nam; public static string nam1; public static int ID; public Form1() { InitializeComponent(); } private void cbStartupName_SelectedIndexChanged(object sender, EventArgs e) { dataGridView1.Show(); btCreate.Show(); dt.Clear(); con.Open(); string strQuery = "SELECT [name], [description], business_model, competitors, marketing_strategy, sum_investments, website," + "foundation_day, leader, stage," + "(SELECT [name] FROM Business_Incubator BI WHERE BI.incubator_id = ST.incubator_id ) AS business_incubator," + "(SELECT DISTINCT [name] FROM Investment_Manager IM, Startup_Manager SM WHERE IM.investManager_id = SM.investManager_id AND SM.startup_id = ST.startup_id) AS invest_manager," + "(SELECT DISTINCT [name] FROM Business_Angel BA, Startup_Angel SA WHERE BA.angel_id = SA.angel_id AND SA.startup_id = ST.startup_id ) AS business_angel " + "FROM Startup ST " + "WHERE name = '" + cbStartupName.Text + "';"; cmd = new SqlCommand(strQuery, con); da = new SqlDataAdapter(strQuery, con); da.Fill(dt); dataGridView1.DataSource = dt; con.Close(); } private void Form1_Load(object sender, EventArgs e) { // TODO: данная строка кода позволяет загрузить данные в таблицу "comAimDataSet.Business_Incubator". При необходимости она может быть перемещена или удалена. this.business_IncubatorTableAdapter.Fill(this.comAimDataSet.Business_Incubator); // TODO: данная строка кода позволяет загрузить данные в таблицу "comAimDataSet.Startup". При необходимости она может быть перемещена или удалена. this.startupTableAdapter.Fill(this.comAimDataSet.Startup); dataGridView1.Hide(); dataGridView2.Hide(); cbStartupName.Hide(); label1.Hide(); label2.Hide(); btCreate.Hide(); tabControl1.Hide(); cbIncubator.Hide(); dataGridView1.Hide(); } private void btCreate_Click(object sender, EventArgs e) { if (cbStartupName.Text != "") { SqlCommand GetCommand = new SqlCommand("SELECT DISTINCT ST.name FROM Startup ST, Business_Incubator BI WHERE ST.incubator_id = BI.incubator_id AND ST.name = '" + cbStartupName.Text + "';", con); con.Open(); SqlDataReader Namereader = GetCommand.ExecuteReader(); while (Namereader.Read()) { nam = Namereader.GetString(0); } con.Close(); string name = nam; Namereader.Close(); SqlCommand GetCom = new SqlCommand("SELECT DISTINCT ST.name FROM Startup ST, Business_Incubator BI WHERE ST.incubator_id IS NULL AND ST.name = '" + cbStartupName.Text + "';", con); con.Open(); SqlDataReader Nameread = GetCom.ExecuteReader(); while (Nameread.Read()) { nam1 = Nameread.GetString(0); } con.Close(); string name1 = nam1; Namereader.Close(); SqlCommand GetIDCommand = new SqlCommand("SELECT ST.startup_id FROM Startup ST WHERE ST.name = '" + cbStartupName.Text + "';", con); con.Open(); SqlDataReader IDreader = GetIDCommand.ExecuteReader(); while (IDreader.Read()) { ID = IDreader.GetInt32(0); } int strID = ID; con.Close(); IDreader.Close(); if(cbStartupName.Text == name ) { try { con.Open(); string Query1 = "INSERT INTO [dbo].[Application](startup_id, application_type) VALUES(" + strID + ",'InvestCompany')"; cmd = new SqlCommand(Query1, con); cmd.ExecuteNonQuery(); cmd.Dispose(); con.Close(); MessageBox.Show("Заявка подана!"); con.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } if (cbStartupName.Text == name1) { try { string Query2 = "INSERT INTO [dbo].[Application](startup_id, application_type) VALUES(" + strID + ",'BisnessAngel')"; cmd = new SqlCommand(Query2, con); con.Open(); cmd.ExecuteNonQuery(); cmd.Dispose(); con.Close(); MessageBox.Show("Заявка подана!"); con.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } else MessageBox.Show("Не правильний ввід!"); con.Close(); } private void investorsToolStripMenuItem_Click(object sender, EventArgs e) { Investors inv = new Investors(); inv.Show(); } private void cbIncubator_SelectedIndexChanged(object sender, EventArgs e) { dataGridView2.Show(); dt.Clear(); con.Open(); string strQuery = "SELECT DISTINCT ST.name, ST.description, ST.business_model, ST.competitors, ST.marketing_strategy, ST.sum_investments, ST.website," + "ST.foundation_day, ST.leader, ST.stage," + "(SELECT [name] FROM Business_Incubator BI WHERE BI.incubator_id = ST.incubator_id ) AS business_incubator," + "(SELECT DISTINCT [name] FROM Investment_Manager IM, Startup_Manager SM WHERE IM.investManager_id = SM.investManager_id AND SM.startup_id = ST.startup_id) AS invest_manager," + "(SELECT DISTINCT [name] FROM Business_Angel BA, Startup_Angel SA WHERE BA.angel_id = SA.angel_id AND SA.startup_id = ST.startup_id ) AS business_angel " + "FROM Startup ST, Business_Incubator BI " + "WHERE BI.incubator_id = ST.incubator_id AND BI.name = '" + cbIncubator.Text + "';"; cmd = new SqlCommand(strQuery, con); da = new SqlDataAdapter(strQuery, con); da.Fill(dt); dataGridView2.DataSource = dt; con.Close(); } private void btAngel_Click(object sender, EventArgs e) { label2.Show(); cbIncubator.Show(); } private void btInvManager_Click(object sender, EventArgs e) { label2.Show(); cbIncubator.Show(); } private void viewToolStripMenuItem_Click(object sender, EventArgs e) { tabControl1.Show(); cbStartupName.Show(); label1.Show(); } } } Результат програми: / / / Висновок: На цій роботі я закріпив отримані при вивченні даного курсу знання і навики проектування ER-моделі реляційної бази даних з використанням IE-нотації та реалізації цієї моделі для СКБД Microsoft SQL Server 2005 у вигляді SQL-сценарію діалектом мови Transact-SQL. Ознайомився з основними об’єктами моделі ADO.NET 2.0 та на їхній основі навчився отримувати, модифікувати, зберігати, шукати та фільтрувати дані. А також отримав навики розроблення клієнтських програм для баз даних з ієрархічною організацією структури даних.
Антиботан аватар за замовчуванням

07.06.2013 17:42

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!