C# 如何在gridview中更新状态值?
在我的数据库中,我有一个带有“tblstatus”和“tblemployeereimbursmenttable”的表 这里的状态是以这种格式显示的 1与员工待决C# 如何在gridview中更新状态值?,c#,asp.net,sql,C#,Asp.net,Sql,在我的数据库中,我有一个带有“tblstatus”和“tblemployeereimbursmenttable”的表 这里的状态是以这种格式显示的 1与员工待决 2与经理待决 3由经理发回 4与财务有关的未决问题 5财务发回 6与账户负责人待决 7由账户负责人发回 8批准 并给出了两个表的PK和FK关系 单击此按钮后,gridview中的状态更新为2 if(Session["statusID"] == 1) { using(SqlConnection con = new SqlConne
2与经理待决
3由经理发回
4与财务有关的未决问题
5财务发回
6与账户负责人待决
7由账户负责人发回
8批准 并给出了两个表的PK和FK关系 单击此按钮后,gridview中的状态更新为2
if(Session["statusID"] == 1)
{
using(SqlConnection con = new SqlConnection(ConnectionString))// set ConnectionString
{
using(SqlCommand cmd = new SqlCommand("update from table set statusID=2 where expenesesid=@expensesid",con)) // set appropriate query
{
sqldatadapter da=new sqldatadapter(cmd) ;
con.Open();
cmd.ExecuteNonQuery();
}
}
}
但它显示错误,请任何人帮助我……您需要转换会话数据: 会话中存储的项的类型为Object;你总是需要 在检索时将其转换为实际类型
是,当更新时,它在if(Session[“statusID”]==1)中显示错误------这里(在这一行中)选择Session[“statusID”],并对其应用addwatch并调试代码。检查你得到了什么。顺便问一下,你得到了什么样的错误???请指出您收到的消息是一个错误。是的,我在这里发现了转换问题的错误,但是,burton单击时更新值没有更新,状态列应该更新,但不更新。但是如果您不给它赋值,它将如何更新值???嗨,这里是错误'int.TryParse(string,out int)'有一些无效参数---errorSorry,从
ToString()
中删除了()
。现在已修复。我不知道为什么没有错误,但值没有更新。这里expensesid列具有主键。我没有编写任何存储过程,所以需要在代码中提及?我猜会话[“statusID”]为空。。。您能在此时调试以查看会话[“statusID”]中的内容吗?不,这里我使用sql查询保留了sessionId=1的默认值,在db中没有为statusID列存储空值
int statusID =0;
if(Session["statusID"] != null && int.TryParse(Session["statusID"].ToString(), out statusID) && statusID ==1)
{
using(SqlConnection con = new SqlConnection(ConnectionString))// set ConnectionString
{
using(SqlCommand cmd = new SqlCommand("update tblstatus set statusID=2 where expenesesid=@expensesid",con)) // set appropriate query
{
sqldatadapter da=new sqldatadapter(cmd) ;
con.Open();
cmd.ExecuteNonQuery();
}
}
}