Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет диплом иванов.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.3 Mб
Скачать

Заключение

Результатом исследования деятельности СПО ВПТ, проводимого в рамках выпускной квалификационной работы, является разработка корпоративного портала библиотеки ВПТ.

Создание корпоративного портала базы данных позволило облегчить работу с огромными объемами информации, необходимыми для организации выдачи книг абонементам библиотеки. База данных помогает справиться с тем огромным потоком информации, с которыми раньше приходилось справляться библиотекарям и администраторам вручную, причем поток информации постоянно обновляется.

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

Сайт состоит из двух разделов: «Администратор» и «Пользователь».

В разделе «Администратор» можно просмотреть фильтры и таблицы, можно добавлять записи в таблицы, а также регистрировать или удалять пользователей и администраторов.

В разделе «Пользователь» можно получить доступ к просмотру трех таблиц: «Книги», «Жанры», «Издательства».

При создании программного продукта использовались современные инструментальные средства разработки: Microsoft Visual Studio 2008, Microsoft Visual Web Developer 2008 Express Edition, Microsoft SQL Server 2005, Microsoft Office 2007.

Сайт работает по технологии «клиент-сервер», что позволяет охватить большое количество пользователей и добиться необходимого уровня оптимизации.

Литература

  1. Бишоп Дж. C# в кратком изложении. – М.: БИНОМ, 2005.

  2. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. - М.: Финансы и статистика, 1989.

  3. Вилдермьюс Ш. Практическое использование ADO.NET. Доступ к данным в Internet. Учебный курс. – М.: Издательский дом «Вильяме», 2003.

  4. Дейт К. Дж. Введение в системы баз данных, 8 - е издание / Пер. с англ. - М.: Издательский дом «Вильямс», 2005.

  5. Морган С. Разработка распределенных приложений на платформе 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();

}