提交表单后,如何对一个表格中的多条记录分别进行数据处理?

epui2008 2013-10-23 10:40:16


提交订单后,在库存表中把订单中的每种商品数量减去,所以像这种一次提交多条记录不知道该怎么处理
...全文
820 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
epui2008 2013-11-02
  • 打赏
  • 举报
回复
protected void Button1_Click(object sender, EventArgs e) { foreach (RepeaterItem rs in Repeater1.Items) { string id = ((Label)rs.FindControl("label1")).Text; /* string str_ID = ((Label)rs.FindControl("lbl_ID")).Text; string str_Count = ((Label)rs.FindControl("lbl_COUNT")).Text; string str_Price = ((Label)rs.FindControl("Lbl_PRICE")).Text; string str_Message = "ID:" + str_ID + " Count:" + str_Count + " Price:" + str_Price; */ Response.Write("<script>alert('" + id + "')</script>"); } }
epui2008 2013-11-02
  • 打赏
  • 举报
回复
未将对象引用设置到对象的实例。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。 源错误: 行 82: foreach (RepeaterItem rs in Repeater1.Items) 行 83: { 行 84: string id = ((Label)rs.FindControl("label1")).Text; 行 85: /* string str_ID = ((Label)rs.FindControl("lbl_ID")).Text; 行 86: string str_Count = ((Label)rs.FindControl("lbl_COUNT")).Text;
  • 打赏
  • 举报
回复
页面代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ghypnus.bs.test._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
</head>
<body>
    <form id="form2" runat="server">
  <asp:Repeater ID="Repeater1" runat="server">
  <HeaderTemplate>
    <table cellpadding="3" cellspacing="3">
        <tr>
            <td>ID</td><td>COUNT</td><td>PRICE</td>
        </tr>
    </table>
  </HeaderTemplate>
            <ItemTemplate>
            <table cellpadding="13" cellspacing="13">
                <tr>
                    <td><asp:Label ID="lbl_ID" runat="Server" Text='<%#Eval("ID") %>'></asp:Label></td>
                    <td><asp:Label ID="lbl_COUNT" runat="Server" Text='<%#Eval("Count") %>'></asp:Label></td>
                    <td><asp:Label ID="Lbl_PRICE" runat="Server" Text='<%#Eval("Price") %>'></asp:Label></td>
                </tr>
            </table>
            </ItemTemplate>
        </asp:Repeater>
    </form>
</body>
</html>
后台测试数据:
 protected void Page_Load(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            DataColumn dc = null;
            dc = dt.Columns.Add("ID");
            dc = dt.Columns.Add("Count");
            dc = dt.Columns.Add("Price");
            DataRow dr = dt.NewRow();
            dr["ID"] = 1;
            dr["Count"] = 2;
            dr["Price"] = 3;
            dt.Rows.Add(dr);
            dr = dt.NewRow();
            dr["ID"] = 4;
            dr["Count"] = 5;
            dr["Price"] = 6;
            dt.Rows.Add(dr);
            dr = dt.NewRow();
            dr["ID"] = 7;
            dr["Count"] = 8;
            dr["Price"] = 9;
            dt.Rows.Add(dr);
            DataSet ds = new DataSet();
            ds.Tables.Add(dt);
            this.Repeater1.DataSource = dt;
            this.Repeater1.DataBind();


            foreach (RepeaterItem rs in Repeater1.Items)
            {
                string str_ID = ((Label)rs.FindControl("lbl_ID")).Text;
                string str_Count = ((Label)rs.FindControl("lbl_COUNT")).Text;
                string str_Price = ((Label)rs.FindControl("Lbl_PRICE")).Text;
                string str_Message = "ID:" + str_ID + " Count:" + str_Count + " Price:" + str_Price;
                Response.Write("<script>alert('" + str_Message + "')</script>");
            }
        }
epui2008 2013-11-01
  • 打赏
  • 举报
回复
引用 21 楼 ghypnus 的回复:
就是我说的循环表格么....
大哥,语句1 语句2 咋写呢?
  • 打赏
  • 举报
回复
就是我说的循环表格么....
epui2008 2013-11-01
  • 打赏
  • 举报
回复


各位大哥讲的事务处理,确实很帅,但是也比较复杂,小弟一时半会掌握不了;现在去学习,也是远水解不了近渴。各位热心的帮助,小弟非常感动,有了你们的支持,解决这个问题肯定不在话下!

小弟突然想到一种原始的方法,思路是图上的,如果事务处理、存储过程是飞机大炮,那这样做只能是烧火棍、锄头,不过如果能够用一种我能操作的方式解决问题的话,也可以用一用;先把问题解决是王道,至于技术嘛,再慢慢提升。

小弟业余的,这样做具体的语句1和语句2 如何写,还请各位大哥指教!谢谢!谢谢!

祝各位大哥周末愉快!
epui2008 2013-10-29
  • 打赏
  • 举报
回复
认真看了下,感觉代码贴出来也没用
epui2008 2013-10-29
  • 打赏
  • 举报
回复
引用 16 楼 jrl5365 的回复:
[quote=引用 6 楼 shiyong7682719 的回复:]

begin transaction
declare @TotalError int    --定义变量,用于累计事务执行过程中的错误
/**//*--循环处理--*/
while()
begin
end
set @TotalError =@TotalError +@@error    --累计是否有错误
insert into a values(6,3)
set @TotalError =@TotalError +@@error --累计是否有错误

--根据是否有错误,确定事务是提交还是回滚--
if @TotalError >0
    begin
        rollback transaction
    end
else
    begin
        commit transaction
    end
用事务比较好!![/quote] 大哥,我这个不懂啊,我把代码贴上来,谁能给 一下代码吗
joyhen 2013-10-29
  • 打赏
  • 举报
回复
事务。 前段构建json异步到一般处理文件,然后动态创建sql语句用list<string>存储,在去ado执行事务即可,只要有一个执行错了,全部回滚无影响
epui2008 2013-10-28
  • 打赏
  • 举报
回复
引用 11 楼 Jelly1989 的回复:
在repeater中找到你那放了数字的小框框 http://msdn.microsoft.com/zh-cn/library/system.web.ui.control.findcontrol.aspx
如果是一行数据,获得其中的产品ID 及 产品销售数量 这没有问题,这个我会用findcontrol 就能找到,然后再sql 中处理; 现在是 多行呈现表格状的数据,是不是要建一个数组,分别把每一行种的产品 ID ,及销量 作为一个数据元素放入数组?这个过程具体如何来实现呢,也就是想法我有了,缺少具体实例,有了实例,比这葫芦画瓢就没问题了 或者是 提取一行数据(产品id,数量),进行一次sql 处理,这样写效率好像比较低 谢谢!
jrl5365 2013-10-28
  • 打赏
  • 举报
回复
引用 6 楼 shiyong7682719 的回复:

begin transaction
declare @TotalError int    --定义变量,用于累计事务执行过程中的错误
/**//*--循环处理--*/
while()
begin
end
set @TotalError =@TotalError +@@error    --累计是否有错误
insert into a values(6,3)
set @TotalError =@TotalError +@@error --累计是否有错误

--根据是否有错误,确定事务是提交还是回滚--
if @TotalError >0
    begin
        rollback transaction
    end
else
    begin
        commit transaction
    end
用事务比较好!!
epui2008 2013-10-28
  • 打赏
  • 举报
回复
引用 14 楼 ghypnus 的回复:
[quote=引用 楼主 epui2008 的回复:] 提交订单后,在库存表中把订单中的每种商品数量减去,所以像这种一次提交多条记录不知道该怎么处理
循环图中的表格取数据,每次循环执行减少数量的sql,其中传递的参数不同,一副的id,数量[/quote] 谢谢
  • 打赏
  • 举报
回复
引用 楼主 epui2008 的回复:
提交订单后,在库存表中把订单中的每种商品数量减去,所以像这种一次提交多条记录不知道该怎么处理
循环图中的表格取数据,每次循环执行减少数量的sql,其中传递的参数不同,一副的id,数量
epui2008 2013-10-28
  • 打赏
  • 举报
回复
自己顶一下,希望哪位指点一二
  • 打赏
  • 举报
回复
在repeater中找到你那放了数字的小框框 http://msdn.microsoft.com/zh-cn/library/system.web.ui.control.findcontrol.aspx
epui2008 2013-10-24
  • 打赏
  • 举报
回复
引用 9 楼 shiyong7682719 的回复:
怎么获取表格中的数据,得看你表格的数据是用什么方式展示的;
谢谢。我是放到repeater控件中的,读取repeater空间中的数据放入数组,然后进行数据库处理,这样应该就可以。 感谢大家,感觉大家讲的太深,请问有没有 可以学习的系统的视频,收费的也可以接受,因为我没时间,上培训肯定不行,这个做asp.net网站是我的业余爱好,起步完全靠看书,掌握的都是最最基础的东西
  • 打赏
  • 举报
回复
怎么获取表格中的数据,得看你表格的数据是用什么方式展示的;
  • 打赏
  • 举报
回复
引用 楼主 epui2008 的回复:
提交订单后,在库存表中把订单中的每种商品数量减去,所以像这种一次提交多条记录不知道该怎么处理
你什么问题,你不是想要问 多条数据 提交怎么处理吗! 在事务中循环处理不就可以了
epui2008 2013-10-24
  • 打赏
  • 举报
回复
引用 5 楼 Jelly1989 的回复:
您连自己哪里不知道都不知道。
大哥,你在看下我的问题,“,但是不知道如何获得表格中的数值呢” 大家没看明白我的问题,答非所问 我问的是:我在哪里租辆自行车? 回答:坐飞机就可以
  • 打赏
  • 举报
回复

begin transaction
declare @TotalError int    --定义变量,用于累计事务执行过程中的错误
/**//*--循环处理--*/
while()
begin
end
set @TotalError =@TotalError +@@error    --累计是否有错误
insert into a values(6,3)
set @TotalError =@TotalError +@@error --累计是否有错误

--根据是否有错误,确定事务是提交还是回滚--
if @TotalError >0
    begin
        rollback transaction
    end
else
    begin
        commit transaction
    end
加载更多回复(5)

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧