目录
1. 实现语言:C#语言。 2. 环境要求:Visual Studio 2012+SQL Server 2012 或以上版本。 3. 实现技术:ASP.NET MVC+EF(100 分)或 ASP.NET+三层+EF(90 分)。
两个字段都不能为空。
1. 创建订单项目数据库(OrdersDB)。
2. 创建订单信息表(OrderInfo),信息表结构见表 1。
CREATE TABLE [dbo].[OrderInfo] (
[OrderID] int NOT NULL IDENTITY(1,1) ,
[UserName] nvarchar(20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[OrderDate] date NOT NULL ,
[OrderState] int NOT NULL ,
CONSTRAINT [PK__OrderInf__C3905BAFEF891235] PRIMARY KEY ([OrderID]),
CONSTRAINT [orderStateChick] CHECK (([OrderState]=(0) OR [OrderState]=(1)))
)
ON [PRIMARY]
GO
DBCC CHECKIDENT(N'[dbo].[OrderInfo]', RESEED, 1)
GO
SET IDENTITY_INSERT [dbo].[OrderInfo] ON
INSERT INTO [dbo].[OrderInfo] ([OrderID], [UserName], [OrderDate], [OrderState]) VALUES (N'1', N'王语嫣', N'2022-10-01', N'1');
GO
INSERT INTO [dbo].[OrderInfo] ([OrderID], [UserName], [OrderDate], [OrderState]) VALUES (N'2', N'刘亦菲', N'2022-09-30', N'0');
GO
INSERT INTO [dbo].[OrderInfo] ([OrderID], [UserName], [OrderDate], [OrderState]) VALUES (N'3', N'小龙女', N'2022-10-20', N'1');
GO
INSERT INTO [dbo].[OrderInfo] ([OrderID], [UserName], [OrderDate], [OrderState]) VALUES (N'6', N'龙姑娘', N'2022-10-06', N'0');
GO
INSERT INTO [dbo].[OrderInfo] ([OrderID], [UserName], [OrderDate], [OrderState]) VALUES (N'7', N'赵灵儿', N'2022-10-21', N'0');
GO
SET IDENTITY_INSERT [dbo].[OrderInfo] OFF
GO
这里的名称写【Order】就行
引入的时间可能很长,多等一会。完毕后会多出两个包,以及对应的模型文件。
public ActionResult Index()
{
using (OrdersDBEntities db = new OrdersDBEntities())
{
List<OrderInfo> list = db.OrderInfo.OrderBy(o => o.OrderState).ToList();
ViewBag.list = list;
return View();
}
}
@{
ViewBag.Title = "Index";
}
<h2 align="center">简易订单管理系统</h2>
<hr />
<a href="~/Order/AddOrderPage">添加订单</a>
<table class="table table-bordered table-hover">
<tr>
<th>订单编号</th>
<th>下单人</th>
<th>订单日期</th>
<th>订单状态</th>
<th>操作</th>
</tr>
@foreach (var item in ViewBag.list)
{
<tr>
<td>@item.OrderID</td>
<td>@item.UserName</td>
<td>@item.OrderDate</td>
@if (item.OrderState == 0)
{
<td style="background-color:red">未发货</td>
}
else
{
<td>已发货</td>
}
<td>
@if (item.OrderState == 0)
{
<a href="~/Order/UpdateById?id=@item.OrderID">发货</a>
}
</td>
</tr>
}
</table>
public ActionResult AddOrderPage() {
return View();
}
@{
ViewBag.Title = "AddOrderPage";
}
<h2>添加订单</h2>
<hr/>
<form action="~/Order/AddOrder">
<p>
下单人:<input type="text" name="UserName" required/>
</p>
<p>
订单日期<input type="date" name="OrderDate" required/>
</p>
<p>
<input type="submit" value="提交"/>
</p>
</form>
public ActionResult AddOrder(string UserName, DateTime OrderDate)
{
using (OrdersDBEntities db = new OrdersDBEntities())
{
OrderInfo info = new OrderInfo();
info.OrderID = 0;
info.UserName = UserName;
info.OrderDate = OrderDate;
info.OrderState = 0;
db.OrderInfo.Add(info);
//一定要保存
db.SaveChanges();
return Redirect("~/Order/Index");
}
}
public ActionResult UpdateById(int id) {
using (OrdersDBEntities db = new OrdersDBEntities())
{
OrderInfo orderInfo = db.OrderInfo.Where(o => o.OrderID == id).FirstOrDefault();
orderInfo.OrderState = 1;
//保存
db.SaveChanges();
return Redirect("~/Order/Index");
}
}
<a href="~/Order/UpdateById?id=@item.OrderID" onclick="return confirm('是否修改此行?')">发货</a>