这个图,对应数据库的的表enegy.
用能种类 用能量,产能量 等等分别对应字段;电力,煤炭,原油这些都是能源种类这个字段的值得
如果我按常规的来写,那么我就要写8条insert语句,我是这样写的。发现后面不好判断而且不好控制。有没有简单点的办法,处理。顺便说下,这只是我做的网页的一小部分,要插几百次,, 

解决方案 »

  1.   

    GridView 循环只更新有数据项
      

  2.   

    http://www.cnblogs.com/teamleader/archive/2007/05/31/765943.html
      

  3.   

    用GRIDVIEW 显示.
    提交时..循环取就行了
    因为你的行数是对应的用能种类,如第一行是电力,第二行是煤炭,原油.只是你后面的值变了
    所以SQL 基本上只有类型会变
    示列如
    表结构
    foreach (GridViewRow dr in gv.Rows)
    {           
    //根据dr.RowIndex判断是哪个种类
    //获取SQL--insert into enegy(种类,用能量,产能量,运输量) value(固定的种类ID,dr.Cells[1].Text,dr.Cells[2].Text,dr.Cells[3].Text)
    }
    这就生成了.你需要的SQL.然后进行数据库操作
      

  4.   

    楼上!gridview怎么显示出来啊?
    我拖gridview 他不显示的。。
      

  5.   

     模板列啊..那你就要去看下GIRDVIEW 的应用了.很简单的
      

  6.   

    c# 中gridview只需要一句就行了,写个循环操作就OK了,我一直都是这么做的。
      

  7.   

    我写的一段代码 希望对你有用 c#前台代码<%@ Page Language="C#" AutoEventWireup="true" CodeFile="WriteAdd2.aspx.cs" Inherits="sendgoods_WriteAdd2" %><!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>
        <link href="../css/cx.css"  type="text/css" rel="stylesheet" />
    </head>
    <body>
        <form id="form1" runat="server">
        <div style="text-align: center">
               <table id="Table1" border="0" cellpadding="0" cellspacing="0" width="100%">
                    <tr>
                        <td align="center" colspan="4" >
                        </td>
                    </tr>
                    <tr>
                        <td colspan="4" style="text-align: left">
                            <strong>&gt;&gt;领料单详情</strong>
                            <hr />
                        </td>
                    </tr>
                    <tr style="background-color: buttonface">
                        <td style="background-color: buttonface; height: 23px">                    </td>
                        <td style="background-color: buttonface; height: 23px; width: 32px;">                    </td>
                        <td>
                            &nbsp;</td>
                        <td>
                            </td>
                    </tr>
                    <tr>
                        <td colspan="4" style="vertical-align: top; height: 280px; text-align: left;">                       
                            <br />
                            <span style="color: navy"><strong>
                           流水号码:</strong></span><asp:Label ID="LabelTaskId" runat="server" Text="Label" Width="155px" Font-Bold="True" ForeColor="Navy"></asp:Label>
                            <span style="color: navy"><strong>
                            请领部门:</strong></span><asp:Label ID="LabelDeptName" runat="server" Text='<%# Eval("dept_name") %>' Width="249px" Font-Bold="True" ForeColor="Navy"></asp:Label>
                            <br />                           
                            <asp:GridView ID="GridView1" runat="server" BackColor="White" BorderColor="#E7E7FF"
                                BorderStyle="Ridge" BorderWidth="1px" CellPadding="3" AutoGenerateColumns="False" Width="100%">
                                <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
                                <Columns>
                                 <asp:BoundField DataField="goods_id" HeaderText="编号" />
                                 <asp:BoundField DataField="goods_name" HeaderText="设备名称" />    
                                 <asp:BoundField DataField="ask_num" HeaderText="数量" />
                                 <asp:BoundField DataField="goods_unit" HeaderText="结构规格" />    
                                 <asp:BoundField DataField="goods_detail" HeaderText="附属设备" />    
                                 <asp:BoundField DataField="goods_price" HeaderText="价格" />   
                                 <asp:BoundField DataField="re" HeaderText="要求" />    
                                                       
                                 <asp:TemplateField HeaderText="设备用地">
                                        <ItemTemplate>
                                            <asp:TextBox ID="TextBoxUseAddres" runat="server" Text='<%# Bind("use_addres")%>' Width="51px"></asp:TextBox>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                  
                                    <asp:TemplateField HeaderText="使用部门">
                                        <ControlStyle Width="60px" />
                                        <ItemTemplate>
                                            <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource1"
                                                DataTextField="dept_name" DataValueField="dept_name">
                                            </asp:DropDownList><asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:cwysdbConnectionString %>"
                                                SelectCommand="SELECT [dept_name] FROM [t_deptment]"></asp:SqlDataSource>
                                        </ItemTemplate>
                                    </asp:TemplateField>                            </Columns>
                                <RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Center" />
                                <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
                                <PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
                                <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" HorizontalAlign="Center" />
                                <AlternatingRowStyle BackColor="#F7F7F7" />
                            </asp:GridView>
                            <br />
                            <table> 
                             
                             <tr>
                                    <td style="width: 99px">
                                        <strong><span style="color: navy">总金额:</span></strong></td>
                                    <td style="width: 272px">
                                        <asp:Label ID="LabelPrice" runat="server" Font-Bold="True" ForeColor="Navy" Text="0" Width="56px"></asp:Label>&nbsp;
                                        <span style="color: navy"><strong>元</strong></span></td>
                                    <td style="width: 289px">
                                    </td>
                                </tr>
                           
                               
                                <tr>
                                    <td style="width: 99px; height: 43px">
                                    </td>
                                    <td style="width: 272px; height: 43px">
                                    </td>
                                    <td style="width: 200px; height: 43px">
                                    </td>
                                </tr>
                                <tr>
                                    <td style="width: 99px">
                                    </td>
                                    <td style="width: 272px; text-align: center">
                                        <asp:Button ID="ButtonConfirm" runat="server" Text="提交" OnClick="ButtonConfirm_Click" Width="75px" />
                                        &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
                                       </td>
                                    <td style="width: 200px">
                                        <asp:Button ID="ButtonBack" runat="server" OnClick="ButtonBack_Click" Text=" 返 回 " Width="82px" /></td>
                                </tr>
                                                                                
                            </table>
                            <asp:Label ID="LabelInfo" runat="server" Text=""></asp:Label></td>
                    </tr>
                    <tr>
                        <td align="left" colspan="2" style="background-color: buttonface; height: 23px"> 
                            <span style="color: red">※设备用地和设备的使用部门为必填项!</span></td>
                        <td align="right" colspan="2" style="background-color: buttonface; height: 23px">      </td>
                    </tr>
                </table>    
        </div>
        </form>
    </body>
    </html>
      

  8.   

    后台代码  using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;using WebSite.DataAccessLayer;
    using WebSite.BusinessLogicLayer;
    using System.Data.OleDb;
    using System.Data.Sql;public partial class sendgoods_WriteAdd2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                InitData();
            }    }
        /// <summary>
        /// 初始化页面数据
        /// </summary>
        private void InitData()
        {
            string task_id = Convert.ToString(Request.QueryString["task_id"]);
            string dept_name = Convert.ToString(Request.QueryString["dept_name"]);
            string sql = "SELECT task_id,dept_name,goods_id,goods_name,ask_num,goods_detail,goods_unit,goods_price,re,use_addres FROM t_goods_ask WHERE state='0' and  task_id = '" + task_id + "'";        LabelTaskId.Text = task_id;
            LabelDeptName.Text = dept_name;
            Database db = new Database();
            DataTable dt = db.GetDataTable(sql);
            db.Close();
            GridView1.DataSource = dt;
            GridView1.DataBind();
            this.ViewState["task_id"] = task_id;        sql = "select convert(nvarchar,SUM(CONVERT(float, total_price))) total_price from t_goods_ask where task_id='" + task_id + "'";
            db = new Database();
            DataRow dr = db.GetDataRow(sql);
            if (!dr.IsNull("total_price")) LabelPrice.Text = (string)dr["total_price"];
            db.Close();    }   //返回接收页面
        protected void ButtonBack_Click(object sender, EventArgs e)
        {
            Response.Redirect("WriteAdd.aspx");
        }
      
        
        //同意审批    
        protected void ButtonConfirm_Click(object sender, EventArgs e)
        {
           
            
           ///     string ask_re = TextBoxCheckRe.Text.Trim();
                string task_id = (string)this.ViewState["task_id"];
                string ask_date = DateTime.Now.ToString("yyyyMMdd");   // HH:mm:ss;    
                string dept_id = Session["dept_id"].ToString(); 
                 string user_id = "";
                if (Session["user_id"] == null)
                {
                    Page.Response.Redirect("../Default.aspx");
                }
                else
                {
                    user_id = Session["user_id"].ToString();
                }            User user = new User();
                user.LoadData(user_id);
                string user_name = user.UserName;
                Database db = new Database();
                //更新领料单记录
                string use_addres = "";
                TextBox TextBoxUseAddres;
                DropDownList DropDownList1;
                GridViewRow gridRow;
                int rowsCount = GridView1.Rows.Count;            String[] SqlStrings = new String[rowsCount];            // 遍历GridView中的每一行,检查实发数量
                for (int i = 0; i < rowsCount; i++)
                {
                    // 获得当前行
                    gridRow = GridView1.Rows[i];
                    TextBoxUseAddres = (TextBox)gridRow.FindControl("TextBoxUseAddres");
                    DropDownList1 = (DropDownList)gridRow.FindControl("DropDownList1");
                    use_addres = TextBoxUseAddres.Text;
                   string  use_deptname = DropDownList1.SelectedValue;
                    //如果用户没有选择,就单击该按钮,则给出警告
                    if (use_addres.Length < 1)
                    {
                        Response.Write("<Script Language=JavaScript>alert('请输入设备用地!');</Script>");
                        return;
                    }                if (use_deptname == "")
                    {
                        Response.Write("<Script Language=JavaScript>alert('请选择使用单位!');</Script>");
                        return;
                    }
                }
                // 遍历GridView中的每一行,对sql语句赋值
                for (int i = 0; i < rowsCount; i++)
                {     
                    
                    // 获得当前行
                    gridRow = GridView1.Rows[i];
                    string goods_id = Convert.ToString(gridRow.Cells[0].Text).Trim();
                    TextBoxUseAddres = (TextBox)gridRow.FindControl("TextBoxUseAddres");
                    DropDownList1 = (DropDownList)gridRow.FindControl("DropDownList1");
                   use_addres = TextBoxUseAddres.Text;
                //    use_deptname = DropDownList1.Text;              SqlStrings[i] = "update t_goods_ask  set use_deptname='" + DropDownList1.SelectedValue + "', ask_date='" + ask_date + "',state='1',use_addres='" + use_addres + "',user_id='" + user_id + "',user_name='" + user_name + "' where state='0' and task_id='" + task_id + "' and  goods_id='" + goods_id + "'";            }                      if (db.ExecuteSQL(SqlStrings))
                {
                    //发货成功
                    db.Close();
                    Response.Write("<script language=javascript>alert('操作成功,请领单进入审批流程!');</script>");                InitData();
                }
                else
                {
                    db.Close();
                    Response.Write("<script language=javascript>alert('操作失败,请重新请领!');</script>");                InitData();
                }        }      
       }