- •Оглавление
- •1 Анализ проблем предприятия
- •2 Постановка проблемы
- •3 Анализ способов решения проблемы
- •3.1 Выбор формы представления данных
- •3.2 Выбор субд
- •4.1.1 Концептуальное проектирование
- •3.3 Выбор языка программирования
- •4 Реализация решения
- •4.1 Проектирование бд
- •4.1.2 Логическое проектирование
- •4.1.3 Физическое проектирование
- •4.2 Создание пользовательского интерфейса
- •Приложение а
- •Приложение б
- •Приложение в
- •Приложение г
Приложение а
SQL-запрос на выборку: отображение полной таблицы.
SELECT PassportOPS.idPassportOPS, Pochtamt.[Индекс], Pochtamt.[Наименование почтамта], OPS.[Наименование ОПС], OPS.[Индекс ОПС], OPS.ЕАС, ConnectType.[Вид соединения], TypeOPS.[Наименование типа ОПС], Class.[Класс ОПС], Address.Район, Address.[Населённый пункт], Address.Улица, Address.Дом, OPS.Телефон, InternetCanal.ТелефонИнтернет, TypeCanal.[Наименование типа канала], Speed.Скорость, Operator.[Название оператора], InternetCanal.[IP-адрес], OPS.[Количество окон]
FROM ((((Operator INNER JOIN (((TypeCanal INNER JOINт InternetCanal ON TypeCanal.idTypeCanal = InternetCanal.[Тип канала]) INNER JOIN (TypeOPS INNER JOIN ((PassportOPS INNER JOIN Pochtamt ON PassportOPS.Почтамт = Pochtamt.idPochtamt) INNER JOIN OPS ON PassportOPS.ОПС = OPS.idOPS) ON TypeOPS.idTypeOPS = OPS.[Тип ОПС]) ON InternetCanal.idInternetCanal = PassportOPS.Интернет) INNER JOIN Speed ON InternetCanal.Скорость = Speed.idSpeed) ON Operator.idOperator = InternetCanal.Оператор) INNER JOIN ConnectType ON InternetCanal.[Вид соединения] = ConnectType.idConnectType) INNER JOIN Class ON OPS.Класс = Class.idClass) INNER JOIN Address ON OPS.Адрес = Address.idAddress)
Приложение б
Код формы LoginForm.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;
using System.IO;
namespace WindowsFormsApplication2
{
public partial class LoginForm : Form
{
public LoginForm()
{
InitializeComponent();
this.AcceptButton = this.button1; this.ActiveControl = this.textBox1;
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
InitializeComponent();
textBox1.Text = null; textBox2.Text = null;
Register f = new Register();
this.Hide(); f.ShowDialog();
}
private void button1_Click(object sender, EventArgs e)
{
string connectionstring = Properties.Settings.Default.conSt;
Datas dataform = new Datas();
if (connectionstring == "" || !File.Exists(Properties.Settings.Default.DbFileName))
{
dataform.chooseFile(); return;
}
string login = textBox1.Text; string password = textBox2.Text;
OleDbConnection conn = new OleDbConnection(connectionstring);
conn.Open();
//Поиск пользователя в таблице Users
OleDbCommand comm = new OleDbCommand("SELECT COUNT(*) FROM `Users` WHERE Login = @login and Password = @password", conn);
comm.Parameters.Add("@login", OleDbType.Char).Value = login;
comm.Parameters.Add("@password", OleDbType.Char).Value = password;
if ((int)(comm.ExecuteScalar()) == 1)
//Переход к основному окну
{ this.Hide(); dataform.Show();
textBox1.Text = null; textBox2.Text = null; }
else
{ MessageBox.Show("Попробуйте ещё раз", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; }
conn.Close();
}
}
}
