.NET&Web-图书管理系统

 .NET&Web-图书管理系统


目录

语言和环境

实现功能

数据库设计

具体要求及推荐实现步骤

数据库创建

编辑建表sql

项目创建

编码

添加视图

遍历视图及生成样式

创建添加视图

遍历添加视图以及创建添加函数

删除函数

运行效果


语言和环境

1. 实现语言:C#语言。

2. 环境要求:Visual Studio 2012+SQL Server 2012 或以上版本。

3. 实现技术:ASP.NET MVC+EF

实现功能

1. 首次打开页面,显示书库中所有的图书信息,如图 1 所示。

图 1 显示图书库中的所有信息

2. 点击超链接“新增图书”显示新增图书页面,如图 2 所示。

图 2 显示新增图书页面

3. 点击“添加”按钮新增图书,需进行表单验证,其中,书籍名称、出版社、出版日期、单价必须 输入,若验证失败,效果如图 3 所示。

图 3 非空验证

4. 成功添加图书之后,显示首页页面,如图 4 所示。

图 4 显示首页页面

5. 点击操作栏“删除”按钮,提示是否删除指定书籍,如图 5 所示,点击“确定”后,删除所对应

的图书信息,删除成功后显示首页。

图 5 删除提示

 数据库设计

1、创建数据库(BookDB)。

2、创建图书表(BookInfo),结构如下:

表结构

具体要求及推荐实现步骤

1. 按以上数据库要求建库、建表,并添加测试数据,如图 6 所示。

图 6 表数据

 

2. 搭建系统框架。

3. 按照首页效果图创建首页,初次加载显示所有图书信息。

4. 点击“新增图书”,显示新增页面;点击“添加”时,如果未按要求填写信息,显示非空验证结 果;正确填写图书信息,则添加图书信息到数据库,并显示首页信息。

5. 点击操作栏“删除”按钮,提示是否删除,点击“确定”后,删除对应的图书信息,并显示首页 信息。

 

数据库创建

1、使用Navicat创建数据库

 2、创建BookInfo表,设置主键id,钥匙代表主键,标识代表自增。

 3、向表中添加数据

 

编辑建表sql

create table BookInfo (
BookId int primary key identity(1,1),
BookName varchar(50) not null,
Publishing varchar(500) not null,
PublishDate date not null,
Price decimal(18,2) not null
)

insert into BookInfo values('漫画威龙','武汉大学出版社','2021-05-21',120.00)
insert into BookInfo values('生存还是死亡','武汉出版社','2020-03-21',180.00)
insert into BookInfo values('思维导图','人民出版社','2019-08-21',199.00)
insert into BookInfo values('水浒传','人民出版社','1990-01-21',210.00)
insert into BookInfo values('三国演义','人民出版社','1998-07-21',398.00)

项目创建

 引入EF

 新建sqlserver链接

 连接成功

引入完毕 

编码

需要使用的对象【BookDBEntities】

 创建控制器

 引入命名空间以及使用EF进行数据查询。

 添加视图

 

 遍历视图及生成样式


@{
    ViewBag.Title = "Index";
}

<h2>图书列表</h2>
<a href="~/BookDB/AddPage">新增图书</a>
<table class="tab-content table table-bordered">
    <tr>
        <th>编号</th>
        <th>书籍名称</th>
        <th>出版社</th>
        <th>出版日期</th>
        <th>单价</th>
        <th>操作</th>
    </tr>
    @foreach (var item in ViewBag.list)
    {
        <tr>
            <td>@item.BookId</td>
            <td>@item.BookName</td>
            <td>@item.Publishing</td>
            <td>@Convert.ToDateTime(@item.PublishDate).ToString("yyyy年MM月dd日")</td>
            <td>¥@item.Price</td>
            <td>
                <a href="#" class="btn btn-primary"> 删除</a>
            </td>
        </tr>
    }
</table>

创建添加视图

 public ActionResult AddPage()
        {
            using (BookDBEntities db = new BookDBEntities())
            {
                return View();
            }
        }

遍历添加视图以及创建添加函数

@{
    ViewBag.Title = "AddPage";
}

<h2>新增图书</h2>
<hr />
<form action="~/BookDB/AddInfo" method="get">
    <p>
       书籍名称 <input type="text" name="BookName" required />
    </p>
    <p>
        出版社 <input type="text" name="Publishing" required />
    </p>
    <p>
        出版日期 <input type="date" name="PubilshDate" required />
    </p>
    <p>
        单价 <input type="text" name="Price" required />
    </p>
    <p>
         <input type="submit" value="提交" class="btn  btn-primary"/>
    </p>
</form>

删除函数


@{
    ViewBag.Title = "Index";
}

<h2>图书列表</h2>
<a href="~/BookDB/AddPage">新增图书</a>
<table class="tab-content table table-bordered">
    <tr>
        <th>编号</th>
        <th>书籍名称</th>
        <th>出版社</th>
        <th>出版日期</th>
        <th>单价</th>
        <th>操作</th>
    </tr>
    @foreach (var item in ViewBag.list)
    {
        <tr>
            <td>@item.BookId</td>
            <td>@item.BookName</td>
            <td>@item.Publishing</td>
            <td>@Convert.ToDateTime(@item.PublishDate).ToString("yyyy年MM月dd日")</td>
            <td>¥@item.Price</td>
            <td>
                <a href="~/BookDB/Del?id=@item.BookId" onclick="return confirm('确定删除《@item.BookName》吗?')" class="btn btn-primary"> 删除</a>
            </td>
        </tr>
    }
</table>
public ActionResult Del(int id)
        {
            using (BookDBEntities db = new BookDBEntities())
            {
                BookInfo book = db.BookInfo.Where(o => o.BookId == id).SingleOrDefault();
                db.BookInfo.Remove(book);
                if (db.SaveChanges() > 0)
                {
                    return Redirect("~/BookDB/Index");
                }
                return Content("<script>alert('删除失败!')</script>");
            }
        }

运行效果

 

  • 7
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值