多表的增删查改
创建数据库和表并且插入数据
添加外键
插入数据
数据库完成 然后创建ASP.NET 并且搭建三层架构
在Model层里添加ADO.NET实体数据模型 并且添加所有引用 不知道的可以看上一篇的增删查改
增删查改
之后就编写DAO类的代码
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DAL
{
public class DAO
{
GoodDbEntities db = new GoodDbEntities();
public object Select()
{
var result = from a in db.Goods
join b in db.GoodTypes
on a.GID equals b.GID
select new {名称=a.Name,价格=a.Price,库存=a.Stock,存储时间=a.StockDate,类型=b.GName};
return result;
}
}
}
去BLL里调用
using DAL;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
public class Service
{
DAO dao = new DAO();
public object Select()
{
return dao.Select();
}
}
}
然后去窗体绑定方法
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="EF.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" DataSourceID="ObjectDataSource1">
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="Select" TypeName="BLL.Service"></asp:ObjectDataSource>
</div>
</form>
</body>
</html>
之后运行 如下图
添加
首先在webform1的窗体里加上一个超链接 并且可以跳转到webform2里面
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="EF.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/WebForm2.aspx">添加</asp:HyperLink>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" DataSourceID="ObjectDataSource1">
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="Select" TypeName="BLL.Service"></asp:ObjectDataSource>
</div>
</form>
</body>
</html>
在webform2里加入控件
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="EF.WebForm2" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
名称:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
价格:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
库存:<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
类型:<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="ObjectDataSource1" DataTextField="GName" DataValueField="GID"></asp:DropDownList>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="Sel" TypeName="BLL.Service"></asp:ObjectDataSource>
<asp:Button ID="Button1" runat="server" Text="添加" OnClick="Button1_Click"/>
</div>
</form>
</body>
</html>
再去DAO里面查询类型表的类型 再绑定到下拉框ObjectDataSource1里面
public object Sel()
{
var result = from b in db.GoodTypes
select new { b.GID,b.GName};
return result;
}
BLL调用
public object Sel()
{
return dao.Sel();
}
然后WEBform2.aspx.cs里编写点击事件 获取用户输入的东西
using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace EF
{
public partial class WebForm2 : System.Web.UI.Page
{
Service service = new Service();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Goods goods = new Goods();
GoodTypes goodTypes = new GoodTypes();
goods.Name = this.TextBox1.Text;
goods.Price =decimal.Parse(this.TextBox2.Text);
goods.Stock =int.Parse(this.TextBox3.Text);
goods.StockDate = DateTime.Now;
goods.GID = int.Parse(this.DropDownList1.Text);
int result= service.Add(goods);
if (result>0)
{
Response.Redirect("WebForm1.aspx");
}
else
{
Response.Write("<script>alert('添加失败!')</script>");
}
}
}
}
添加就搞完了 如下图所示