C#.NET GRIDVIEW 更新,未编辑的列,无法经过算法,重新取值,更新入数据库。

在gridview中有4列。小时,分钟,秒,分别用H,MIN,S代替。后面有个总时间。我截取部分代码说明,请高手帮忙。protectedvoidGridView1_Row... 在 gridview 中 有4列。 小时,分钟,秒,分别用H,MIN,S 代替。 后面有个总时间。
我截取部分代码说明,请高手帮忙。
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string s1 = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim();
string s2 = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim();
string s3 = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim();
string s4 = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim();
string s5 = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString().Trim();
string s7 = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[7].Controls[0])).Text.ToString().Trim();
string s9 = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[9].Controls[0])).Text.ToString().Trim();
if (s3 == "" && s4 == "" && s5 == "")
{
dureetotal = (0).ToString("0.00");
}
else
{
dureetotal = (heure1 * 60 + minute1 + seconde1 / 60).ToString("0.00");

}这里就是 dureetotal 就是把小时分钟秒都换算成分钟的算法。
然后插入数据库
comparatif.comparatif_update( heure, minute, seconde, dureetotal)
GridView1.DataBind();}
但是 页面显示的结果, 分钟 时间 秒 都更新了,唯独总时间没有更新还是原来的。
comparatif_update 这个函数是bll里的。
SQL 更新语句写在了dal里.
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
GridView1.DataBind();
}这里判断是否第一次返回。现在就是不知道问题出在哪,总时间是不能编辑的。我ENABLED掉了。 能编辑的都能更新进入数据库。总时间却不能自动改变。请教
展开
 我来答
HiLittleGirl
2011-10-01 · TA获得超过192个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:245万
展开全部
总时间没有更新,说明 if (s3 == "" && s4 == "" && s5 == "")没有执行,仔细检查下代码;

你这代码怎么都没GridView1.DataSource(数据源)
追问
全部代码太多了。我就截取了关键的部分。 我用LABEL断点 检测过。里面的数值都是我想要的。那我估计问题在SQL语句里了。 能贴个SQL的写法让我看看吗
追答
这是我的一些sql代码
using System;
using System.Data;
using System.Configuration;
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 System.Web.Configuration;
using System.Data.SqlClient;

///
/// DBhelper 的摘要说明
///
public class DBhelper
{
public DBhelper()
{
//
// TODO: 在此处添加构造函数逻辑
//
}

private static string conString = WebConfigurationManager.ConnectionStrings["DBConnectionString"].ConnectionString; 数据库连接

///
/// 查询操作
///
///
///
public static DataSet GetDataSetBySql(string sql)
{
SqlConnection con = new SqlConnection(conString);
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds);
con.Close();
return ds;
}
public DataSet getName(int id)
{
string sql = "select Name from rights where Admin_id = id";
return GetDataSetBySql(sql);
}
///
///查询未通过审核的表信息
///
///
public DataSet getStatus()
{
string sql = "select Software_name,Department,Name,CreateTime,Approval_advice,Status from temporary_table Order by Isbn Desc";
return GetDataSetBySql(sql);
}
}
修罗情伤
2011-09-30 · TA获得超过190个赞
知道小有建树答主
回答量:239
采纳率:0%
帮助的人:73.7万
展开全部
1.你所写出的代码 (heure1 * 60 + minute1 + seconde1 / 60).ToString("0.00");,这些参数从何而来都没有说明。
2,但是 页面显示的结果, 分钟 时间 秒 都更新了,唯独总时间没有更新还是原来的。如果程序无错的话,建议看一下SQL执行时候的SQL语句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式