- •«Вяземский политехнический техникум»
- •Выпускная квалификационная работа
- •«Вяземский политехнический техникум»
- •«Вяземский политехнический техникум»
- •Введение
- •1 Теоретический раздел
- •1.1 Постановка задачи
- •1.2 Описание основных функциональных подсистем
- •1.3 Обоснование и выбор субд
- •1.4 Обоснование и выбор инструментария разработки форм
- •1.5 Инфологическое моделирование предметной области
- •1.7 Разработка алгоритма решения задачи
- •2 Экспериментальный раздел
- •2.1 Создание базы данных, заполнение таблиц данными
- •2.2 Создание запросов и фильтров
- •2.3 Создание форм
- •2.4 Обеспечение безопасности доступа к данным
- •2.5 Правила и порядок работы с базой данных
- •2.6 Назначение и возможности программного средства
- •3 Экономическая часть
- •3.1 Использование вычислительной техники в учебном процессе
- •3.2 Расчет себестоимости и цены программы
- •Заключение
- •Литература
- •Приложение
Заключение
Результатом исследования деятельности СПО ВПТ, проводимого в рамках выпускной квалификационной работы, является разработка корпоративного портала библиотеки ВПТ.
Создание корпоративного портала базы данных позволило облегчить работу с огромными объемами информации, необходимыми для организации выдачи книг абонементам библиотеки. База данных помогает справиться с тем огромным потоком информации, с которыми раньше приходилось справляться библиотекарям и администраторам вручную, причем поток информации постоянно обновляется.
Программный продукт был создан в форме сайта. Вход в систему осуществляется посредством ввода своего уникального логина и пароля. Изменить информацию может только администратор.
Сайт состоит из двух разделов: «Администратор» и «Пользователь».
В разделе «Администратор» можно просмотреть фильтры и таблицы, можно добавлять записи в таблицы, а также регистрировать или удалять пользователей и администраторов.
В разделе «Пользователь» можно получить доступ к просмотру трех таблиц: «Книги», «Жанры», «Издательства».
При создании программного продукта использовались современные инструментальные средства разработки: Microsoft Visual Studio 2008, Microsoft Visual Web Developer 2008 Express Edition, Microsoft SQL Server 2005, Microsoft Office 2007.
Сайт работает по технологии «клиент-сервер», что позволяет охватить большое количество пользователей и добиться необходимого уровня оптимизации.
Литература
Бишоп Дж. C# в кратком изложении. – М.: БИНОМ, 2005.
Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. - М.: Финансы и статистика, 1989.
Вилдермьюс Ш. Практическое использование ADO.NET. Доступ к данным в Internet. Учебный курс. – М.: Издательский дом «Вильяме», 2003.
Дейт К. Дж. Введение в системы баз данных, 8 - е издание / Пер. с англ. - М.: Издательский дом «Вильямс», 2005.
Морган С. Разработка распределенных приложений на платформе Microsoft .Net Framework: Учебный курс Microsoft. – СПб.: Питер, 2008.
Приложение
Главная страница
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
private void SetFocus(string ControlName)
{
// Добавляем функцию установки фокуса
System.Text.StringBuilder sb = new System.Text.StringBuilder("");
sb.Append("<script language=javascript>");
sb.Append("function setFocus(ctl) {");
sb.Append(" if (document.all[ctl] != null)");
sb.Append(" {document.all[ctl].focus();}");
sb.Append("}");
// Добавляем вызов функции установки фокуса
sb.Append("setFocus('");
sb.Append(ControlName);
sb.Append("');<");
sb.Append("/");
sb.Append("script>");
// Регистрируем клиентский скрипт
if (!Page.IsStartupScriptRegistered("InputFocusHandler"))
Page.RegisterStartupScript("InputFocusHandler", sb.ToString());
}
protected void Page_Load(object sender, EventArgs e)
{
SetFocus(TextBox1.ClientID);
}
private SqlConnection www = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\DB_Rabota.mdf;Integrated Security=True;User Instance=True");
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
Panel1_Student.Visible = false;
Panel2_Prepod.Visible = false;
Panel3_Admin.Visible = false;
/* Начало -- Преподаватели -- Начало */
SqlCommand SaveDocCommand = new SqlCommand();
SaveDocCommand.Connection = www;
SaveDocCommand.CommandText = "Select * from Преподаватели";
try
{
www.Open();
SqlDataReader dr = SaveDocCommand.ExecuteReader();
string kod = "";
string fio = "";
string login = "";
string pass = "";
while (dr.Read())
{
kod = dr[0].ToString();
fio = dr[1].ToString();
login = dr[2].ToString();
pass = dr[3].ToString();
if (dr[2].ToString() == TextBox1.Text && dr[3].ToString() == TextBox2.Text && TextBox1.Text != "" && TextBox2.Text != "")
{
Label2.Text = "Преподаватель: " + fio.ToString();
Panel1.Visible = false;
Panel2_Prepod.Visible = true;
HiddenField_Prepod_Fio.Value = fio;
HiddenField_kod_prepod.Value = kod;
HiddenField_Login_Prepodavatela.Value = login;
return;
}
else
{
Label4.Text = "Такого Пользователя нет";
}
}
}
finally
{
www.Close();
}
/* Конец -- Сотрудники -- Конец */
/* Начало -- Читатели -- Начало */
SaveDocCommand = new SqlCommand();
SaveDocCommand.Connection = www;
SaveDocCommand.CommandText = "Select * from Читатели";
try
{
www.Open();
SqlDataReader dr = SaveDocCommand.ExecuteReader();
string kod = "";
string fio = "";
string login = "";
string pass = "";
while (dr.Read())
{
kod = dr[0].ToString();
fio = dr[1].ToString();
login = dr[3].ToString();
pass = dr[4].ToString();
if (dr[3].ToString() == TextBox1.Text && dr[4].ToString() == TextBox2.Text && TextBox1.Text != "" && TextBox2.Text != "")
{
Label1.Text = "Читатель: " + fio.ToString();
Panel1.Visible = false;
Panel1_Student.Visible = true;
HiddenField1.Value = kod;
HiddenField2.Value = fio;
Login_Stydenta.Value = login;
return;
}
else
{
Label4.Text = "Такого Пользователя нет";
}
}
}
finally
{
www.Close();
}
/* Конец -- Читатели -- Конец */
/* Начало -- Администрирование -- Начало */
SaveDocCommand = new SqlCommand();
SaveDocCommand.Connection = www;
SaveDocCommand.CommandText = "Select * from Администрирование";
try
{
www.Open();
SqlDataReader dr = SaveDocCommand.ExecuteReader();
string kod = "";
string fio = "";
string login = "";
string pass = "";
while (dr.Read())
{
kod = dr[0].ToString();
fio = dr[1].ToString();
login = dr[2].ToString();
pass = dr[3].ToString();
if (dr[2].ToString() == TextBox1.Text && dr[3].ToString() == TextBox2.Text && TextBox1.Text != "" && TextBox2.Text != "")
{
Label3.Text = "Администратор: " + fio.ToString();
Panel1.Visible = false;
Panel3_Admin.Visible = true;
HiddenField_Admin_Fio.Value = fio;
return;
}
else
{
Label4.Text = "Такого Пользователя нет";
}
}
}
finally
{
www.Close();
}
/* Конец -- Администрирование -- Конец */
}
}
Панель читателя, добавление данных
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.IO;
public partial class Student : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = "";
if (!IsPostBack)
{
if (Request.UrlReferrer == null)
{
Response.Redirect("Default.aspx");
return;
}
}
try
{
HiddenField1.Value = ((HiddenField)Page.PreviousPage.FindControl("HiddenField1")).Value;
HiddenField2.Value = ((HiddenField)Page.PreviousPage.FindControl("HiddenField2")).Value;
Label2.Text = HiddenField2.Value;
}
catch (Exception ex)
{
}
}
private SqlConnection www = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\DB_Rabota.mdf;Integrated Security=True;User Instance=True");
/*
private String SavePath = "";
private string FullName;
string OldFileName; string ss;
*/
DirectoryInfo dr = null;
private String CompleteFilePath = "";
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
Label1.Text = "";
try
{
dr = new DirectoryInfo(MapPath("~Image/TEMP/"));
dr.Create();
CompleteFilePath = MapPath("~Image/TEMP/" + FileUpload1.FileName);
FileUpload1.SaveAs(CompleteFilePath);
// The BLOB holds the byte array to save.
byte[] BLOB;
// The FileStream is the stream of bytes
// that represent the binary file.
System.IO.FileStream FileStream = new System.IO.FileStream(CompleteFilePath, System.IO.FileMode.Open, System.IO.FileAccess.Read);
// The reader reads the binary data from the FileStream.
System.IO.BinaryReader reader = new System.IO.BinaryReader(FileStream);
// The BLOB is asigned the bytes from the reader.
// The file length is passed to the ReadBytes method
// telling it how many bytes to read.
System.IO.FileInfo file = new FileInfo(CompleteFilePath);
BLOB = reader.ReadBytes((int)(file.Length));
FileStream.Close();
reader.Close();
// Create a command object to save
// the BLOB value.
SqlCommand SaveDocCommand = new SqlCommand();
SaveDocCommand.Connection = www;
SaveDocCommand.CommandText = "INSERT INTO Сведения" +
"(Код_Сотрудника, Код_Читателя,Код_Книги,Код_Издательства) " +
"VALUES (@k_p, @k_st,@k_pred,@k_k,@i_f,@sod,@data,@komp)";
// Create parameters to store the filename and BLOB data.
SqlParameter k_pP = new SqlParameter("@k_p", SqlDbType.BigInt);
SqlParameter k_stP = new SqlParameter("@k_st", SqlDbType.BigInt);
SqlParameter k_predP = new SqlParameter("@k_pred", SqlDbType.BigInt);
SqlParameter k_kP = new SqlParameter("@k_k", SqlDbType.BigInt);
SqlParameter i_fP = new SqlParameter("@i_f", SqlDbType.NVarChar);
SqlParameter sodP = new SqlParameter("@sod", SqlDbType.VarBinary);
SqlParameter dataP = new SqlParameter("@data", SqlDbType.SmallDateTime);
SqlParameter kompP = new SqlParameter("@komp", SqlDbType.NVarChar);
SaveDocCommand.Parameters.Add(k_pP);
SaveDocCommand.Parameters.Add(k_stP);
SaveDocCommand.Parameters.Add(k_predP);
SaveDocCommand.Parameters.Add(k_kP);
SaveDocCommand.Parameters.Add(i_fP);
SaveDocCommand.Parameters.Add(sodP);
SaveDocCommand.Parameters.Add(dataP);
SaveDocCommand.Parameters.Add(kompP);
k_pP.Value = DropDownList1.SelectedValue;
k_stP.Value = HiddenField1.Value;
k_predP.Value = DropDownList2.SelectedValue;
k_kP.Value = DropDownList3.SelectedValue;
i_fP.Value = CompleteFilePath.Substring(CompleteFilePath.LastIndexOf("\\") + 1);
sodP.Value = BLOB;
dataP.Value = System.DateTime.Now;
kompP.Value = Request.ServerVariables["REMOTE_ADDR"].ToString();
// Execute the command and save the BLOB to the database.
try
{
SaveDocCommand.Connection.Open();
SaveDocCommand.ExecuteNonQuery();
// Response.Write(@"<script>alert(""Сохранён"");</script>");
Label1.Text = "Сохранён";
}
catch (Exception ex)
{
// Response.Write(@"<script>alert(""Не сохранён"");</script>");
Label1.Text = "Не cохранён";
}
finally
{
SaveDocCommand.Connection.Close();
}
try
{
dr.Delete(true);
}
catch (Exception ex)
{
}
}
catch (Exception ex)
{
Label1.Text = "Нужно выбрать файл";
}
}
Панель читателя, просмотр данных
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.IO;
public partial class Student_Prosmotr : System.Web.UI.Page
{
private SqlConnection www = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\DB_Rabota.mdf;Integrated Security=True;User Instance=True");
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.UrlReferrer == null)
{
Response.Redirect("Default.aspx");
return;
}
}
try
{
HiddenField1.Value = ((HiddenField)Page.PreviousPage.FindControl("HiddenField2")).Value;
Label1.Text = HiddenField1.Value;
}
catch (Exception ex)
{
}
}
private String SavePath = "";
private string FullName;
string OldFileName; string ss;
DirectoryInfo dr = null;
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
bool b;
try
{
// Удалить TEMP с содержимым
dr = new DirectoryInfo(MapPath("~Image/TEMP/"));
try
{
dr.Delete(true);
}
catch (Exception ex)
{
}
// Создать папку TEMP
dr = new DirectoryInfo(MapPath("~Image/TEMP/"));
dr.Create();
// Установить маршрут TEMP для записи считанного файла
SavePath = MapPath("~Image/TEMP/");
// Создать команду для выбора записываемого файла из БД
SqlCommand GetBlobCommand = new SqlCommand("SELECT [Имя_файла], [Содержимое],[Код_Сведений] " + " FROM Сведения " + " WHERE [Код_Сведений] = @kod ", www);
// Установить параметр
GetBlobCommand.Parameters.Add("@kod", SqlDbType.BigInt).Value = GridView1.SelectedRow.Cells[1].Text;
// Current index to write the bytes to
long CurrentIndex = 0;
// number of bytes to store in the BLOB.
int BufferSize = 100;
// Actual number of bytes returned when calling GetBytes.
long BytesReturned;
// The Byte array used to hold the buffer.
byte[] Blob = new byte[BufferSize];
// Открыть соединение
GetBlobCommand.Connection.Open();
SqlDataReader reader = GetBlobCommand.ExecuteReader(CommandBehavior.SequentialAccess);
if (reader.HasRows) b = true; else b = false;
while (reader.Read())
{
// Create or open the selected file.
ss = reader["Имя_файла"].ToString();
// OldFileName = SavePath + "\\" + ss;
OldFileName = SavePath + ss;
FullName = "~Image/TEMP/" + ss;
System.IO.FileStream FileStream = new System.IO.FileStream(OldFileName, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write);
//
// Set the writer to write the BLOB to the file.
System.IO.BinaryWriter writer = new System.IO.BinaryWriter(FileStream);
// Reset the index to the beginning of the file.
CurrentIndex = 0;
// Set the BytesReturned to the actual number
// of bytes returned by the GetBytes call.
BytesReturned = reader.GetBytes(1, CurrentIndex, Blob, 0, BufferSize);
// If the BytesReturned fills the buffer
// keep appending to the file.
while (BytesReturned == BufferSize)
{
writer.Write(Blob);
writer.Flush();
CurrentIndex += BufferSize;
BytesReturned = reader.GetBytes(1, CurrentIndex, Blob, 0, BufferSize);
}
// When the BytesReturned no longer fills
// the buffer, write the remaining bytes.
writer.Write(Blob, 0, (int)(BytesReturned));
writer.Flush();
writer.Close();
FileStream.Close();
}
reader.Close();
GetBlobCommand.Connection.Close();
if (b)
{
String Fname = Server.MapPath(FullName);
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "binary/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + ss);
Response.WriteFile(Fname);
Response.Flush();
Response.Close();
}
}
catch (Exception ex)
{
Response.Write(@"<script>alert(""Невозможно выполнтить запрос"");</script>");
}
}
}
Панель администратора, просмотр данных
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.IO;
public partial class Prepodavatel : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.UrlReferrer == null)
{
Response.Redirect("Default.aspx");
return;
}
}
try
{
HiddenField1.Value = ((HiddenField)Page.PreviousPage.FindControl("HiddenField_Prepod_Fio")).Value;
HiddenField2.Value = ((HiddenField)Page.PreviousPage.FindControl("HiddenField_kod_prepod")).Value;
Label1.Text = HiddenField1.Value;
}
catch
{
}
}
protected void GridView3_SelectedIndexChanged(object sender, EventArgs e)
{
Label2.Text = GridView3.SelectedRow.Cells[1].Text;
Label3.Text = "не выбран";
}
private SqlConnection www = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\DB_Rabota.mdf;Integrated Security=True;User Instance=True");
protected void GridView4_SelectedIndexChanged(object sender, EventArgs e)
{
Label3.Text = GridView4.SelectedRow.Cells[1].Text;
}
private String SavePath = "";
private string FullName;
string OldFileName; string ss;
DirectoryInfo dr = null;
protected void GridView5_SelectedIndexChanged(object sender, EventArgs e)
{
bool b;
try
{
// Удалить TEMP с содержимым
dr = new DirectoryInfo(MapPath("~Image/TEMP/"));
try
{
dr.Delete(true);
}
catch (Exception ex)
{
}
// Создать папку TEMP
dr = new DirectoryInfo(MapPath("~Image/TEMP/"));
dr.Create();
// Установить маршрут TEMP для записи считанного файла
SavePath = MapPath("~Image/TEMP/");
// Создать команду для выбора записываемого файла из БД
SqlCommand GetBlobCommand = new SqlCommand("SELECT [Имя_файла], [Содержимое],[Код_Сведений] " + " FROM Сведения " + " WHERE [Код_Сведений] = @kod ", www);
// Установить параметр
GetBlobCommand.Parameters.Add("@kod", SqlDbType.BigInt).Value = GridView5.SelectedRow.Cells[1].Text;
// Current index to write the bytes to
long CurrentIndex = 0;
// number of bytes to store in the BLOB.
int BufferSize = 100;
// Actual number of bytes returned when calling GetBytes.
long BytesReturned;
// The Byte array used to hold the buffer.
byte[] Blob = new byte[BufferSize];
// Открыть соединение
GetBlobCommand.Connection.Open();
SqlDataReader reader = GetBlobCommand.ExecuteReader(CommandBehavior.SequentialAccess);
if (reader.HasRows) b = true; else b = false;
while (reader.Read())
{
// Create or open the selected file.
ss = reader["Имя_файла"].ToString();
// OldFileName = SavePath + "\\" + ss;
OldFileName = SavePath + ss;
FullName = "~Image/TEMP/" + ss;
System.IO.FileStream FileStream = new System.IO.FileStream(OldFileName, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write);
// Set the writer to write the BLOB to the file.
System.IO.BinaryWriter writer = new System.IO.BinaryWriter(FileStream);
// Reset the index to the beginning of the file.
CurrentIndex = 0;
// Set the BytesReturned to the actual number
// of bytes returned by the GetBytes call.
BytesReturned = reader.GetBytes(1, CurrentIndex, Blob, 0, BufferSize);
// If the BytesReturned fills the buffer
// keep appending to the file.
while (BytesReturned == BufferSize)
{
writer.Write(Blob);
writer.Flush();
CurrentIndex += BufferSize;
BytesReturned = reader.GetBytes(1, CurrentIndex, Blob, 0, BufferSize);
}
// When the BytesReturned no longer fills
// the buffer, write the remaining bytes.
writer.Write(Blob, 0, (int)(BytesReturned));
writer.Flush();
writer.Close();
FileStream.Close();
}
reader.Close();
GetBlobCommand.Connection.Close();
if (b)
{
String Fname = Server.MapPath(FullName);
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "binary/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + ss);
Response.WriteFile(Fname);
Response.Flush();
Response.Close();
}
}
catch (Exception ex)
{
Label4.Text = "Невозможно выполнтить запрос";
}
}
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
if (CheckBox1.Checked)
{
CheckBox1.Text = "";
Panel1.Visible = true;
CheckBox1.ForeColor = System.Drawing.Color.DarkRed;
}
else
{
CheckBox1.Text = "";
Panel1.Visible = false;
CheckBox1.ForeColor = System.Drawing.Color.DarkOrange;
}
}
protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
{
try
{
Up_Sved.Update();
GridView5.DataBind();
Lab.Text = "";
}
catch (Exception ex)
{
Lab.Text = ex.Message;
}
}
}
Панель пользователя
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PanelPolzovatel.aspx.cs" Inherits="PanelPolzovatel" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.style1
{
font-size: xx-large;
font-weight: bold;
color: #000000;
font-family: Verdana;
height: 564px;
}
</style>
</head>
<body bgcolor="#ccffff">
<form id="form1" runat="server">
<div align="center" class="style1" dir="ltr">
Библиотека<br />
<br />
<asp:Button ID="Button4" runat="server" PostBackUrl="~/BD_Avto.aspx"
Text="Страница входа" Width="150px" />
<br />
<br />
<asp:Button ID="Button1" runat="server" PostBackUrl="~/GjanriPOL.aspx"
Text="Жанры" Width="150px" />
<br />
<asp:Button ID="Button2" runat="server" PostBackUrl="~/IzdatelstvaPOL.aspx"
Text="Издательства" Width="150px" />
<br />
<asp:Button ID="Button3" runat="server" PostBackUrl="~/KnigiPOL.aspx" Text="Книги"
Width="150px" />
<br />
<br />
<br />
<br />
</div>
</form>
</body>
</html>
Панель администратора
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.UrlReferrer == null)
{
Response.Redirect("BD_Avto.aspx");
return;
}
}
}
}using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.UrlReferrer == null)
{
Response.Redirect("BD_Avto.aspx");
return;
}
}
}
protected void Button7_Click(object sender, EventArgs e)
{
}
}
Панель администратора, регистрация
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
public partial class BD_Avto : System.Web.UI.Page
{
private void SetFocus(string ControlName)
{
// Добавляем функцию установки фокуса
System.Text.StringBuilder sb = new System.Text.StringBuilder("");
sb.Append("<script language=javascript>");
sb.Append("function setFocus(ctl) {");
sb.Append(" if (document.all[ctl] != null)");
sb.Append(" {document.all[ctl].focus();}");
sb.Append("}");
// Добавляем вызов функции установки фокуса
sb.Append("setFocus('");
sb.Append(ControlName);
sb.Append("');<");
sb.Append("/");
sb.Append("script>");
// Регистрируем клиентский скрипт
if (!Page.IsStartupScriptRegistered("InputFocusHandler"))
Page.RegisterStartupScript("InputFocusHandler", sb.ToString());
}
protected void Page_Load(object sender, EventArgs e)
{
SetFocus(TextBox1.ClientID);
}
private SqlConnection www = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\BDLibrary.mdf;Integrated Security=True;User Instance=True");
protected void Button1_Click(object sender, EventArgs e)
{
/* Начало -- Пользователи -- Начало */
SqlCommand SaveDocCommand = new SqlCommand();
SaveDocCommand.Connection = www;
SaveDocCommand.CommandText = "Select * from Вход_Пользователь";
try
{
www.Open();
SqlDataReader dr = SaveDocCommand.ExecuteReader();
while (dr.Read())
{
if (dr[2].ToString() == TextBox1.Text && dr[3].ToString() == TextBox2.Text && TextBox1.Text != "" && TextBox2.Text != "")
{
Label1.Text = "Пользователь: " + dr[1].ToString();
Panel1.Visible = true;
Panel2.Visible = false;
return;
}
else
{
Label1.Text = "Такого Пользователя нет";
}
}
}
finally
{
www.Close();
}
/* Конец -- Преподаватели -- Конец */
/* Начало -- Студенты -- Начало */
SaveDocCommand = new SqlCommand();
SaveDocCommand.Connection = www;
SaveDocCommand.CommandText = "Select * from Вход_Администратор";
try
{
www.Open();
SqlDataReader dr = SaveDocCommand.ExecuteReader();
while (dr.Read())
{
if (dr[2].ToString() == TextBox1.Text && dr[3].ToString() == TextBox2.Text && TextBox1.Text != "" && TextBox2.Text != "")
{
Label1.Text = "Администратор: " + dr[1].ToString();
Panel2.Visible = true;
Panel1.Visible = false;
return;
}
else
{
Label1.Text = "Такого Пользователя нет";
}
}
}
finally
{
www.Close();
}
/* Конец -- Студенты -- Конец */
}
protected void Button3_Click(object sender, EventArgs e)
{
}
}
Таблица сотрудники
SQL Запрос: Удаление
DELETE FROM Сотрудники WHERE (Код_сотрудника = @kkk)))
SQL Запрос: Добавление
INSERT INTO Сотрудники(ФИО, Возраст, Пол, Адрес, Телефон, Паспортные_данные, Код_должности) VALUES (@1, @2, @3, @4, @5, @6, @7)
SQL Запрос: Редактирование
UPDATE Сотрудники SET ФИО = @1, Возраст = @2, Пол = @3, Адрес = @4, Телефон = @5, Паспортные_данные = @6, Код_должности = @7 WHERE (Код_сотрудника = @kkk)
Таблица должности
SQL Запрос: Удаление
DELETE FROM Должности WHERE (Код_должности = @kkk)
SQL Запрос: Добавление
INSERT INTO Должности(Наименование_должности, Оклад, Обязанности, Требования) VALUES (@1, @2, @3, @4)
SQL Запрос: Редактирование
UPDATE Должности SET Наименование_должности = @1, Оклад = @2, Обязанности = @3, Требования = @4 WHERE (Код_должности = @kkk)
Таблица книги
SQL Запрос: Удаление
DELETE FROM Книги WHERE (Код_книги = @kkk)))
SQL Запрос: Добавление
INSERT INTO Книги (Наименование, Автор, Издательство, Год_издания, жанр, код_книги) VALUES (@1, @2, @3, @4, @5)
SQL Запрос: Редактирование
UPDATE Книги SET Наименование= @1, Автор= @2, Издательство = @3, Год_издания = @4, Жанр = @5, (Код_книги= @kkk)
Таблица жанры
SQL Запрос: Удаление
DELETE FROM Жанры WHERE (Код_жанра = @kkk)
SQL Запрос: Добавление
INSERT INTO Жанры(Наименование, Описание) VALUES (@1, @2))
SQL Запрос: Редактирование
UPDATE Жанры SET Наименование = @1, Описание = @2 WHERE (Код_типа = @kkk)
Таблица читатели
SQL Запрос: Удаление
DELETE FROM Читатели WHERE (Код_читателя = @kkk)
SQL Запрос: Добавление
INSERT INTO Читатели(ФИО, Дата_рождения, Пол, Адрес) VALUES (@1, @2, @3, @4)
SQL Запрос: Редактирование
UPDATE Читатели SET ФИО = @1, Дата_рождения = @2, Пол = @3, Адрес = @4 WHERE (Код_читателя = @kkk)
Панель администратора, база данных
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.IO;
public partial class BD_ADM : System.Web.UI.Page
{
private SqlConnection www = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\DB_Rabota.mdf;Integrated Security=True;User Instance=True");
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.UrlReferrer == null)
{
Response.Redirect("Default.aspx");
return;
}
}
if (RadioButton1.Checked)
{
Panel_Pr_Vce.Visible = true;
}
if (DropDownList1.Text == "БД: Администрирование")
{
Panel1.Visible = true;
}
else
{
Panel1.Visible = false;
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
if (DropDownList1.Text == "БД: Администрирование")
{
Panel1.Visible = true;
}
else
{
Panel1.Visible = false;
}
if (DropDownList1.Text == "БД: Группа")
{
Panel2.Visible = true;
}
else
{
Panel2.Visible = false;
}
if (DropDownList1.Text == "БД: Издательства")
{
Panel3.Visible = true;
}
else
{
Panel3.Visible = false;
}
if (DropDownList1.Text == "БД: Книги")
{
Panel4.Visible = true;
}
else
{
Panel4.Visible = false;
}
if (DropDownList1.Text == "БД: Сотрудники")
{
Panel5.Visible = true;
}
else
{
Panel5.Visible = false;
}
if (DropDownList1.Text == "БД: Сведения")
{
Panel6.Visible = true;
}
else
{
Panel6.Visible = false;
}
if (DropDownList1.Text == "БД: Читатели")
{
Panel7.Visible = true;
}
else
{
Panel7.Visible = false;
}
if (DropDownList1.Text == "БД: Связи")
{
Panel8.Visible = true;
}
else
{
Panel8.Visible = false;
}
}
private String SavePath = "";
private string FullName;
string OldFileName; string ss;
DirectoryInfo dr = null;
protected void GridView8_SelectedIndexChanged(object sender, EventArgs e)
{
bool b;
try
{
// Удалить TEMP с содержимым
dr = new DirectoryInfo(MapPath("~Image/TEMP/"));
try
{
dr.Delete(true);
}
catch (Exception ex)
{
}
// Создать папку TEMP
dr = new DirectoryInfo(MapPath("~Image/TEMP/"));
dr.Create();
// Установить маршрут TEMP для записи считанного файла
SavePath = MapPath("~Image/TEMP/");
// Создать команду для выбора записываемого файла из БД
SqlCommand GetBlobCommand = new SqlCommand("SELECT [Имя_файла], [Содержимое],[Код_Сведений] " + " FROM Сведения " + " WHERE [Код_Сведений] = @kod ", www);
// Установить параметр
GetBlobCommand.Parameters.Add("@kod", SqlDbType.BigInt).Value = GridView8.SelectedRow.Cells[1].Text;
// Current index to write the bytes to
long CurrentIndex = 0;
// number of bytes to store in the BLOB.
int BufferSize = 100;
// Actual number of bytes returned when calling GetBytes.
long BytesReturned;
// The Byte array used to hold the buffer.
byte[] Blob = new byte[BufferSize];
// Открыть соединение
GetBlobCommand.Connection.Open();
SqlDataReader reader = GetBlobCommand.ExecuteReader(CommandBehavior.SequentialAccess);
if (reader.HasRows) b = true; else b = false;
while (reader.Read())
{
// Create or open the selected file.
ss = reader["Имя_файла"].ToString();
// OldFileName = SavePath + "\\" + ss;
OldFileName = SavePath + ss;
FullName = "~Image/TEMP/" + ss;
GridView9.DataBind();
}
catch (Exception ex)
{
Response.Write(@"<script>alert(""Не выполнено"");</script>");
}
Panel9.Visible = false;
GridView9.DataBind();
}
protected void Button3_Click(object sender, EventArgs e)
{
Panel9.Visible = false;
}
protected void Button4_Click(object sender, EventArgs e)
{
SqlCommand Command1 = new SqlCommand("DELETE Сведения WHERE Код_Сведений=@kod", www);
SqlParameter IdentPar = new SqlParameter("@kod", SqlDbType.Int);
Command1.Parameters.Add(IdentPar);
IdentPar.Value = TextBox1.Text;
try
{
www.Open();
Command1.ExecuteNonQuery();
www.Close();
Label2.Text = "Выполнено";
GridView8.DataBind();
}
catch (Exception ex)
{
Label2.Text = "Не выполнено";
}
Panel10.Visible = false;
CheckBox1.Checked = false;
CheckBox1.Text = "Включить удаление";
GridView8.DataBind();
}
protected void Button5_Click(object sender, EventArgs e)
{
Panel10.Visible = false;
CheckBox1.Checked = false;
CheckBox1.Text = "Включить удаление";
}
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
if (CheckBox1.Checked)
{
CheckBox1.Text = "Выключить удаление";
Panel10.Visible = true;
}
else
{
CheckBox1.Text = "Включить удаление";
Panel10.Visible = false;
}
}
protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
Panel_Pr_Vce.Visible = true;
Panel_Pr_GR.Visible = false;
}
protected void RadioButton2_CheckedChanged(object sender, EventArgs e)
{
Panel_Pr_Vce.Visible = false;
Panel_Pr_GR.Visible = true;
}
}
Панель администратора, добавление данных
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
public partial class BD_add : System.Web.UI.Page
{
private SqlConnection www = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\DB_Rabota.mdf;Integrated Security=True;User Instance=True");
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.UrlReferrer == null)
{
Response.Redirect("Default.aspx");
return;
}
}
try
{
HiddenField1.Value = ((HiddenField)Page.PreviousPage.FindControl("HiddenField_Admin_Fio")).Value;
Label2.Text = HiddenField1.Value;
}
catch
{
}
if (DropDownList1.Text == "БД: ")
{
Panel1.Visible = true;
}
else
{
Panel1.Visible = false;
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
if (DropDownList1.Text == "БД: ")
{
Panel1.Visible = true;
}
else
{
Panel1.Visible = false;
}
if (DropDownList1.Text == "БД: Издательства")
{
Panel2.Visible = true;
}
else
{
Panel2.Visible = false;
}
if (DropDownList1.Text == "БД: Книги")
{
Panel3.Visible = true;
}
else
{
Panel3.Visible = false;
}
if (DropDownList1.Text == "БД: Связи")
{
Panel4.Visible = true;
}
else
{
Panel4.Visible = false;
}
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
Label1.Text = GridView1.SelectedRow.Cells[1].Text;
Panel4_DEL.Visible = true;
}
protected void Button8_Click(object sender, EventArgs e)
{
SqlCommand Command1 = new SqlCommand("DELETE Связи WHERE Код_Связи=@kod", www);
SqlParameter IdentPar = new SqlParameter("@kod", SqlDbType.Int);
Command1.Parameters.Add(IdentPar);
IdentPar.Value = Label1.Text;
try
{
www.Open();
Command1.ExecuteNonQuery();
www.Close();
// Button6_Click(sender, e);
Response.Write(@"<script>alert(""Выполнено"");</script>");
//Response.Redirect("BD_add.aspx");
GridView1.DataBind();
}
catch (Exception ex)
{
Response.Write(@"<script>alert(""Не выполнено"");</script>");
}
Panel4_DEL.Visible = false;
GridView1.DataBind();
//Response.Redirect("BD_add.aspx");
}
protected void Button9_Click(object sender, EventArgs e)
{
Label1.Text = GridView1.SelectedRow.Cells[1].Text;
Panel4_DEL.Visible = false;
}
protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
{
if (TextBox1.Text == "")
{
Label3.Text = "Поле не заполнено!";
return;
}
/* Начало --- Проверка на Заполненность */
SqlCommand SaveDocCommand = new SqlCommand();
SaveDocCommand.Connection = www;
SaveDocCommand.CommandText = "Select * from Группа";
try
{
www.Open();
SqlDataReader dr = SaveDocCommand.ExecuteReader();
while (dr.Read())
{
if (dr[1].ToString() == TextBox1.Text)
{
Label3.Text = "Такие данные уже в базе есть";
return;
}
else
{
}
}
}
finally
{
www.Close();
}
/* Конец --- Проверка на Заполненность */
SaveDocCommand.Connection = www;
SaveDocCommand.CommandText = "INSERT INTO Группа (Название_Группы) VALUES (@n_g)";
SqlParameter n_gP = new SqlParameter("@n_g", SqlDbType.NVarChar);
SaveDocCommand.Parameters.Add(n_gP);
n_gP.Value = TextBox1.Text;
try
{
SaveDocCommand.Connection.Open();
SaveDocCommand.ExecuteNonQuery();
Label3.Text = "Добавлено";
BD_Group.DataBind();
}
catch (Exception ex)
{
Label3.Text = "Не Добавлено";
}
}
protected void ImageButton3_Click(object sender, ImageClickEventArgs e)
{
if (TextBox2.Text == "")
{
Label4.Text = "Поле не заполнено!";
return;
}
/* Начало --- Проверка на Заполненность */
SqlCommand SaveDocCommand = new SqlCommand();
SaveDocCommand.Connection = www;
SaveDocCommand.CommandText = "Select * from Категория";
try
{
www.Open();
SqlDataReader dr = SaveDocCommand.ExecuteReader();
while (dr.Read())
{
if (dr[1].ToString() == TextBox2.Text)
{
Label4.Text = "Такие данные уже в базе есть";
return;
}
else
{
}
}
}
finally
{
www.Close();
}
/* Конец --- Проверка на Заполненность */
SaveDocCommand.Connection = www;
SaveDocCommand.CommandText = "INSERT INTO Категория (Название_Категории) VALUES (@n_k)";
SqlParameter n_kP = new SqlParameter("@n_k", SqlDbType.NVarChar);
SaveDocCommand.Parameters.Add(n_kP);
n_kP.Value = TextBox2.Text;
try
{
SaveDocCommand.Connection.Open();
SaveDocCommand.ExecuteNonQuery();
Label4.Text = "Добавлено";
}
catch (Exception ex)
{
Label4.Text = "Не Добавлено";
}
}
protected void ImageButton4_Click(object sender, ImageClickEventArgs e)
{
if (TextBox3.Text == "")
{
Label6.Text = "Поле не заполнено!";
return;
}
/* Начало --- Проверка на Заполненность */
SqlCommand SaveDocCommand = new SqlCommand();
SaveDocCommand.Connection = www;
SaveDocCommand.CommandText = "Select * from Предметы";
try
{
www.Open();
SqlDataReader dr = SaveDocCommand.ExecuteReader();
while (dr.Read())
{
if (dr[1].ToString() == TextBox3.Text)
{
Label6.Text = "Такие данные уже в базе есть";
return;
}
else
{
}
}
}
finally
{
www.Close();
}
