这个图,对应数据库的的表enegy.
用能种类 用能量,产能量 等等分别对应字段;电力,煤炭,原油这些都是能源种类这个字段的值得
如果我按常规的来写,那么我就要写8条insert语句,我是这样写的。发现后面不好判断而且不好控制。有没有简单点的办法,处理。顺便说下,这只是我做的网页的一小部分,要插几百次,,
用能种类 用能量,产能量 等等分别对应字段;电力,煤炭,原油这些都是能源种类这个字段的值得
如果我按常规的来写,那么我就要写8条insert语句,我是这样写的。发现后面不好判断而且不好控制。有没有简单点的办法,处理。顺便说下,这只是我做的网页的一小部分,要插几百次,,
提交时..循环取就行了
因为你的行数是对应的用能种类,如第一行是电力,第二行是煤炭,原油.只是你后面的值变了
所以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.然后进行数据库操作
我拖gridview 他不显示的。。
<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>>>领料单详情</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>
</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>
<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" />
</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>
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();
} }
}