Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在gridview中更新状态值?_C#_Asp.net_Sql - Fatal编程技术网

C# 如何在gridview中更新状态值?

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

在我的数据库中,我有一个带有“tblstatus”和“tblemployeereimbursmenttable”的表

这里的状态是以这种格式显示的

1与员工待决
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();
        }
    }
}