多表的新增

开发工具与关键技术:VS   ,   ASP.NET.MVC;

作者:吴维杰

撰写时间:2019.06.07

页面部分:

首先获取新增模态框里输入框填输的数据.

代码如下.

  //获取页面数据

     var circuitNumber = $("#formInsertCircuit [name='CircuitnNumber']").val();

     var circuitnName = $("#formInsertCircuit [name='CircuitnName']").val();

     var mileage = $("#formInsertCircuit [name='Mileage']").val();

     var direction = $("#formInsertCircuit [name='Direction']").val();

     var subordinateRegion = $("#formInsertCircuit [name='SubordinateRegion']").val();

     var startingTableName = $("#formInsertCircuit [name='StartingTableName']").val();

     var sortableName = $("#formInsertCircuit [name='SortableName']").val();

     var stationList = $("#formInsertCircuit [name='StationListName']").val();

     var stop = $("#formInsertCircuit [name='StopOpen']").val();

     var remark = $("#formInsertCircuit [name='Remark']").val();

数据如下图.

 

控制器部分:

数据库中,表的连接为:                           起点表

                           线路表à  终点表

路段表à          

                           站点表

看到表的连接后,应该从最低层的表开始新增(因为表的连接是靠主键和外键连接起来的,

你想新增一条数据,就比如新增一条起点站表的数据, myModels.D_StartingTable.Add(startingTable);

就只能新增在起点站表里,而因为主键和外键连接起来的线路表中的起点站ID不会得到新增,所以这里首先要从低层级的表开始新增,然后获取新增数据的ID,让它等于与站点表相连的线路表中的起点站ID.)

代码如下:

myModels.D_Sortable.Add(sortable);

                    if (myModels.SaveChanges() > 0)

 {

                        myModels.D_StartingTable.Add(startingTable);

                        if (myModels.SaveChanges() > 0)

                        {

                            //获取新增的起点ID

                            var startingTableId = startingTable.StartingTableID;

                            //让起点表新增的起点ID等于线路表新增的起点ID

                            circuit.StartingTableID = startingTableId;

                            //获取新增的终点ID

                            var sortableId = sortable.SortableID;

                            //让终点表新增的终点ID等于线路表新增的终点ID

                            circuit.SortableID = sortableId;

                            myModels.D_Circuit.Add(circuit);

                            if (myModels.SaveChanges() > 0)

                            {

                                myModels.D_StationSite.Add(stationSite);

                                if (myModels.SaveChanges() > 0)

                                {

                                    //获取新增的站点ID

                                    var stationSiteId = stationSite.StationSiteID;

                                    //让站点表新增的站点ID等于路段表新增的站点ID

                                    roadSection.StationSiteID = stationSiteId;

                                    //获取新增的线路ID

                                    var circuitId = circuit.CircuitID;

                                    //让路段表表新增的线路ID等于线路表新增的线路ID

                                    roadSection.CircuitID = circuitId;

 

                                    myModels.D_RoadSection.Add(roadSection);

                                    if (myModels.SaveChanges() > 0)

{

                                        returnJson.State = true;

                                        returnJson.Text = "新增成功!";   }

                                    else

                                    {returnJson.State = false;

                                     returnJson.Text = "新增失败!";

                                    }          

 }

                                else

                                {

                                    returnJson.State = false;

                                    returnJson.Text = "参数异常!";

                                }   

 }

                            else

                            {

                                returnJson.State = false;

                                returnJson.Text = "参数异常!";

                            }

                        }

                        else

                        {

                            returnJson.State = false;

                            returnJson.Text = "参数异常!";

                        }

                    }

                    else

                    {

                        returnJson.State = false;

                        returnJson.Text = "参数异常!";

                    }

新增成功的效果图:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值