报错信息如下:
--------------------------------------------------------------------------------
指定的转换无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidCastException: 指定的转换无效。源错误:
行 142:
行 143: SpUpdate=CmUpdate.Parameters.Add(new SqlParameter("@c_content",SqlDbType.VarChar,50));
===================================================================================
行 144: SpUpdate.Value=((DropDownList)e.Item.Cells[2].Controls[0]).SelectedItem.Value.ToString();
就是这行出问题了,我是用下拉框得到要更新的内容的,确定数据的字段是:varchar的,为什么要报错啊,上面的那个用文本框的就没有问题,怎么会是转换无效的错误啊,我用断点设置查看运行信息,让它返回为string 类型的也不可以。郁闷中,求求大家帮帮我了,急死了
=====================================================================================
行 145:
行 146: SpUpdate=CmUpdate.Parameters.Add(new SqlParameter("@c_value",SqlDbType.Money,8));
源文件: d:\website\calllunch\manage_restaurant_content_edit.aspx.cs 行: 144
----------------------------------------------------------------------------------
该函数全部源代码如下:
private void Dg_Restaurant_content_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
ConnectionDataBase();
SqlCommand CmUpdate=new SqlCommand("Update_restaurant_content",cn);
CmUpdate.CommandType=CommandType.StoredProcedure; SqlParameter SpUpdate=null;
SpUpdate=CmUpdate.Parameters.Add(new SqlParameter("@c_id",SqlDbType.Int,4));
SpUpdate.Value=e.Item.Cells[0].Text.ToString(); SpUpdate=CmUpdate.Parameters.Add(new SqlParameter("@c_index_id",SqlDbType.Int,4));
SpUpdate.Value=e.Item.Cells[1].Text.ToString(); SpUpdate=CmUpdate.Parameters.Add(new SqlParameter("@c_content",SqlDbType.VarChar,50));
SpUpdate.Value=((DropDownList)e.Item.Cells[2].Controls[0]).SelectedItem.Value.ToString(); SpUpdate=CmUpdate.Parameters.Add(new SqlParameter("@c_value",SqlDbType.Money,8));
SpUpdate.Value=((TextBox)e.Item.Cells[3].Controls[0]).Text; CmUpdate.ExecuteNonQuery();
BindGrid();
}
求求各位大侠,给点帮助了。
--------------------------------------------------------------------------------
指定的转换无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidCastException: 指定的转换无效。源错误:
行 142:
行 143: SpUpdate=CmUpdate.Parameters.Add(new SqlParameter("@c_content",SqlDbType.VarChar,50));
===================================================================================
行 144: SpUpdate.Value=((DropDownList)e.Item.Cells[2].Controls[0]).SelectedItem.Value.ToString();
就是这行出问题了,我是用下拉框得到要更新的内容的,确定数据的字段是:varchar的,为什么要报错啊,上面的那个用文本框的就没有问题,怎么会是转换无效的错误啊,我用断点设置查看运行信息,让它返回为string 类型的也不可以。郁闷中,求求大家帮帮我了,急死了
=====================================================================================
行 145:
行 146: SpUpdate=CmUpdate.Parameters.Add(new SqlParameter("@c_value",SqlDbType.Money,8));
源文件: d:\website\calllunch\manage_restaurant_content_edit.aspx.cs 行: 144
----------------------------------------------------------------------------------
该函数全部源代码如下:
private void Dg_Restaurant_content_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
ConnectionDataBase();
SqlCommand CmUpdate=new SqlCommand("Update_restaurant_content",cn);
CmUpdate.CommandType=CommandType.StoredProcedure; SqlParameter SpUpdate=null;
SpUpdate=CmUpdate.Parameters.Add(new SqlParameter("@c_id",SqlDbType.Int,4));
SpUpdate.Value=e.Item.Cells[0].Text.ToString(); SpUpdate=CmUpdate.Parameters.Add(new SqlParameter("@c_index_id",SqlDbType.Int,4));
SpUpdate.Value=e.Item.Cells[1].Text.ToString(); SpUpdate=CmUpdate.Parameters.Add(new SqlParameter("@c_content",SqlDbType.VarChar,50));
SpUpdate.Value=((DropDownList)e.Item.Cells[2].Controls[0]).SelectedItem.Value.ToString(); SpUpdate=CmUpdate.Parameters.Add(new SqlParameter("@c_value",SqlDbType.Money,8));
SpUpdate.Value=((TextBox)e.Item.Cells[3].Controls[0]).Text; CmUpdate.ExecuteNonQuery();
BindGrid();
}
求求各位大侠,给点帮助了。
--------------------
private void Dg_Restaurant_content_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
ConnectionDataBase();
SqlCommand CmUpdate=new SqlCommand("Update_restaurant_content",cn);
CmUpdate.CommandType=CommandType.StoredProcedure; SqlParameter SpUpdate=null;
SpUpdate=CmUpdate.Parameters.Add(new SqlParameter("@c_id",SqlDbType.Int,4));
SpUpdate.Value=e.Item.Cells[0].Text.ToString(); SpUpdate=CmUpdate.Parameters.Add(new SqlParameter("@c_index_id",SqlDbType.Int,4));
SpUpdate.Value=e.Item.Cells[1].Text.ToString(); SpUpdate=CmUpdate.Parameters.Add(new SqlParameter("@c_content",SqlDbType.VarChar,50));
SpUpdate.Value=((DropDownList)e.Item.FindControl("menu")).SelectedItem.Value.ToString(); SpUpdate=CmUpdate.Parameters.Add(new SqlParameter("@c_value",SqlDbType.Money,8));
SpUpdate.Value=((TextBox)e.Item.Cells[3].Controls[0]).Text; CmUpdate.ExecuteNonQuery();
BindGrid();
cn.Close();
}