栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

.net综合应用开发-图书管理系统

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

.net综合应用开发-图书管理系统

 

武汉晴川学院

2021-2022-1

.NET综合应用开发

综合作品

专    业:

计算机科学与技术

班    级:

201903班

题    目:

                                        BMS图书管理系统

指导老师:

第2组

(组长:***)

成员

分工

成绩

客户端代码、服务器代码丶答辩讲解

客户端代码丶文档整理

服务器代码丶数据库存储过程代码

服务器代码丶PPT制作

计算机学院

BMS图书管理系统的设计与实现

1需求分析

参与者:【一般用户】、【管理员用户】

用例:列出每一个参与者的操作

参与者

用例

说明

状态

【一般用户】

图书功能

能对图书进行查看操作

已完成

登录注册功能

能进行注册,登录等基本功能

已完成

图书图片上传-共享功能

可以上传分享自己的书单

已完成

【管理员用户】

图书管理功能

能对图书进行查看,添加,删除等操作

已完成

登录注册功能

能进行注册,登录等基本功能

已完成

权限修改功能

能进行权限的增加,更新以及删除等操作

已完成

(备注:管理员用户在拥有一般用户各种操作的情况下可以完成上述操作)

2设计

采用C/S架构,系统包含数据库服务器、WEB服务器、和WPF客户端。

正在上传…重新上传取消null

数据库服务器:

WEB服务器:采用三层结构:Model、DAL、BLL

WPF客户端:

2.1 数据库设计

数据库(image)包含哪张表(列出表名)

users表(用户表)

字段名

数据类型

NULL

说明

uName

varchar(32)

主键,用户名

poQu

 varchar(128)

用户权限

image表(图书图片表)

字段名

数据类型

NULL

说明

ID

int

自动增长列,主键,图片的 ID 号

uName

 varchar(32)

用户名称,说明该图片归该用户所有

iDate

 datetime

存储图片的日期时间

iFile

 varchar(256)

图片的名称

iShared

bit

Not

图片是否共享,值为 1 时共享,为 0 时不共享

iData

 image

图片的二进制数据

book表(图书信息表)

字段名

数据类型

NULL

说明

bookID

varchar(128)

主键,图书编号

bookName

varchar(128)

图书名字

bookType

varchar(128)

图书类型

author

varchar(128)

作者

popem表(用户权限表)

字段名

数据类型

NULL

说明

uName

varchar(32)

与用户表的外键,主键,用户名

uPass

 varchar(512)

密码

BMS图书管理系统存储过程表

功能

存储过程名

参数

返回值

添加用户

adduser

Uname,upass

无

查找用户及密码

selectuser

uname ,upass

返回所查用户的密码

增加权限

addpopem

Uname,poqu

0

更新权限

updatepopem

uName,poqu

无

删除权限

delbypopem

uname

无

添加图书

addbook

BookID,BookName,BookType

Author

0

查找图书

selbookid

BookID

BookID,bookName,

bookType, author

更新图书

updatebookid

BookName,BookID

无

删除图书

delbybookid

BookID

无

2.2 WEB服务器

层次

类名

方法

说明

MODEL

MODEL

MODEL

获得用户信息

DAL

DBHelper

DBHelper

连接数据库

ImageService

uploadImage

上传图片

userService

userService

登录

Xmlprocess

Xmlsd

Xmlsd

序列化和反序列化

2.3 WPF客户端

窗体名

控件

控件名称

说明

Zhuye.xaml

Button

StatusBarItem

图书图片,添加图书,修改图片,

主页

Window1.xaml

MenuItem

DataGridTextColumn

TextBlock

用户管理,图片管理,关于

查看图书

Window2.xaml

Button

搜索,返回

查询图书

quanxian.xaml

TextBlock

Label

Button

权限,用户名,确定

修改用户权限

MainWindow.xaml

Border

TextBox

CheckBox

Button

Canva

安全登录,自动登录,记住密码,注册账号

登录界面

addBok.xaml

TextBlock

GroupBox

CheckBox

Button

Label

添加图书,图书编号,书名,现存否,类型,邮箱,作者,添加者,添加,返回

添加图书信息

3实现代码

数据库

create database books --创建数据库books

go

use books --打开数据库

go

create table users --创建表

(

uName varchar(32) primary key,

uPass varchar(512)

)

go

-- 添加用户

create proc adduser

(

@uname varchar(32),

@upass varchar(512)

)

as

insert into users(uName,uPass)

values(@uname,@upass)

go

-- 查找用户及密码

create proc selectuser

(

@uname varchar(32),

@upass varchar(512)

)

as

select count(*) from  users where uName=@uname and uPass=@upass

go

create table popem --//用户权限表(属性为   用户名:uName   用户权限:poqu)

(

    uName varchar(32) primary key,

    poQu varchar(128),

   foreign key( uName) references users( uName)

)

go

--增加权限

create proc addpopem

(

           @uname varchar(32),

      @poqu varchar(128)

)

as

insert into popem(uname,poQu)

values(@uname,@poqu)

go

--更新权限

create proc updatepopem

(                

               @uName varchar(32),

      @poqu varchar(128)

)

as

update popem set poQu=@poqu where  uName=@uname

go

--删除权限

create proc delbypopem

(

  @uname varchar(32)

)

as

delete from popem where uName=@uname

go



create table book  --图书信息表(属性为图书编号:bookID 图书名字:bookName 图书类型:bookType 作者:author)

(

  bookID varchar(128) primary key,

  bookName varchar(128),

  bookType varchar(128),

 author varchar(128)

)

go

create proc addbook

(

                 @BookID varchar(128),

          @BookName varchar(128),

    @BookType varchar(128),

                @Author  varchar(128)

)

as

insert into book(bookID,bookName,bookType,author)

values(@BookID,@BookName,@BookType ,@Author)

go

--查找图书

create proc selbookid

(

  @BookID varchar(128)

)

as

select bookID,bookName,bookType,author from book where bookID=@BookID

go

create proc selbybookid

(

 @BookID varchar(128)

)

as

 select count(*) from book where bookID=@BookID

go

--更新图书

create proc updatebookid

(

@BookName  varchar(128),

@BookID varchar(128)

)

as

update book set bookName=@BookName where bookID=@BookID

go

--删除图书

create proc delbybookid

(

 @BookID varchar(128)

)

as

delete from book where bookID=@BookID

go

WEB服务器

namespace DAL

{

    public class DBHelper

    {

        //public static String conString = "Data Source=localhost\sqlexpress;Initial Catalog=image;Integrated Security = SSPI; MultipleActiveResultSets=true";//windows 身份验证

        public static String conString = "Server=127.0.0.1;initial catalog=books;user id=sa;password=123456;";

        public SqlConnection con;

        public SqlCommand cmd;

        public DBHelper(SqlConnection con)

        {

            con.Open();

            this.con = con;

            cmd = new SqlCommand();

            cmd.Connection = con;

        }

        public int executeCommand(string sql)

        {

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.CommandText = sql;

            cmd.Parameters.Clear();

            return cmd.ExecuteNonQuery();

        }

        public int executeCommand(string sql, params SqlParameter[] values)

        {

            cmd.CommandType=CommandType.StoredProcedure;

            cmd.CommandText =sql ;

            cmd.Parameters.Clear();

            cmd.Parameters.AddRange(values);

            return cmd.ExecuteNonQuery();

        }

        public int getScalar(string sql)

        {

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.CommandText = sql;

            cmd.Parameters.Clear();

            return (int)cmd.ExecuteScalar();

        }

        public int getScalar(string sql, params SqlParameter[] values)

        {

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.CommandText = sql;

            cmd.Parameters.Clear();

            cmd.Parameters.AddRange(values);

            return (int)cmd.ExecuteScalar();

        }

        public SqlDataReader getReader(string sql)

        {

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.CommandText = sql;

            cmd.Parameters.Clear();

            SqlDataReader reader = cmd.ExecuteReader();

            return reader;

        }

        public SqlDataReader getReader(string sql, params SqlParameter[] values)

        {

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.CommandText = sql;

            cmd.Parameters.Clear();

            cmd.Parameters.AddRange(values);

            return cmd.ExecuteReader();

        }

        public SqlDataAdapter getAdapter(string sql)

        {

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.CommandText = sql;

            cmd.Parameters.Clear();

            SqlDataAdapter adapter = new SqlDataAdapter(cmd);

            return adapter;

        }

        public SqlDataAdapter getAdapter(string sql, params SqlParameter[] values)

        {

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.CommandText = sql;

            cmd.Parameters.Clear();

            cmd.Parameters.AddRange(values);

            SqlDataAdapter adapter = new SqlDataAdapter(cmd);

            return adapter;

        }

}





客户端

Zhuye.xaml



        

        

            

            

                

                 

                    

                    

                    

                

            

        

        

        



Window1.xaml.cs

private void upimage_Click(object sender, RoutedEventArgs e)

        {

            OpenFileDialog dlg = new OpenFileDialog();

            dlg.Filter = "Images|*.jpg;*.png";

            if ((bool)dlg.ShowDialog())

            {

                try

                {

                    string fn = dlg.FileName;

                    int p = fn.LastIndexOf("\");

                    if (p >= 0) fn = fn.Substring(p + 1);

                    FileStream fs = new FileStream(dlg.FileName, FileMode.Open);

                    byte[] data = new byte[fs.Length];

                    fs.Read(data, 0, data.Length);

                    fs.Close();

                    Uri uri = new Uri(url + "?opt=uploadImage&uName=" + Xmlsd.encode(u.uName)

                     + "&uPass=" + Xmlsd.encode(Xmlsd.encryptString(u.uPass)) + "&iFile=" + Xmlsd.encode(fn), UriKind.Absolute);

                    client.UploadDataAsync(uri, "POST", data);

                }

                catch (Exception exp)

                {

                    showMsg(exp.Message);

                    showMsg("上传失败");

                }

            }

Window2.xaml



                    

                

                

        

        

        

        

        

        

        

        

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/906917.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号