我在更新数据时遇到问题。
我有Home.aspx.cs
和一个班级HomeClass.cs
。我有一个gridview,我想在其中进行更新,但它不起作用。
它不会返回成功的消息,我也检查了我的SQL Server数据库,但没有任何更改。
这是我的Home.aspx.cs
:
protected void DataGridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
try
{
GridViewRow row = DataGridView.Rows[e.RowIndex];
// get old data
HiddenField hidedescription = row.FindControl("hiddendescription") as HiddenField;
HiddenField hidepkgcode = row.FindControl("hiddenpkgcode") as HiddenField;
HiddenField hideoprcode = row.FindControl("hiddenoprcode") as HiddenField;
// get new data
DropDownList Ed_description = DataGridView.Rows[e.RowIndex].FindControl("Editdescription") as DropDownList;
TextBox Ed_pkgcode = DataGridView.Rows[e.RowIndex].FindControl("Editpkgcode") as TextBox;
TextBox Ed_oprcode = DataGridView.Rows[e.RowIndex].FindControl("Editoprcode") as TextBox;
string Message = obj.Update_Data(Ed_description.SelectedItem,
Ed_pkgcode,
Ed_oprcode,
hidedescription.Value,
hidepkgcode.Value,
hideoprcode.Value);
Fill_Grid();
Literal1.Text = Message;
}
catch (Exception ex)
{
}
}
void Fill_Grid()
{
try
{
DataGridView.DataSource = obj.Get_Data();
DataGridView.DataBind();
}
catch (Exception ex)
{
}
}
这是我的HomeClass.cs
课程:
static string Connect = WebConfigurationManager.ConnectionStrings["CONSTRING"].ConnectionString;
SqlConnection con = new SqlConnection(Connect);
SqlCommand cmd;
SqlDataAdapter adap;
DataTable dt;
public string Update_Data(ListItem listItem,
TextBox Ed_pkgcode,
TextBox Ed_oprcode,
string hidedescription,
string hidepkgcode,
string hideoprcode)
{
// update data
string getnewType = listItem.Text;
if (getnewType == "Data 1")
{
getnewType = "Y";
}
if (getnewType == "Data 2")
{
getnewType = "N";
}
// old data
if (hidedescription == "Data 1") { hidedescription = "Y"; }
if (hidedescription == "Data 2") { hidedescription = "N"; }
con.Open();
cmd = new SqlCommand("Update PAORStdTime set type='" + getnewType +
"', pkgcode='" + Ed_pkgcode.Text +
"', oprcode='" + Ed_oprcode.Text +
"' where type= '" + hidedescription +
"' and pkgcode ='" + hidepkgcode +
"' and oprcode ='" + hideoprcode + "'" , con);
cmd.ExecuteNonQuery();
con.Close();
return "Updated successfully";
}
答案 0 :(得分:2)
where type = hidedescription
and pkgcode = hidepkgcode
and pkgcode = hideoprcode
pkgcode
无法与hidepkgcode
和hideoprcode
相等。我相信下面的代码就是你想要的。
where type = hidedescription
and pkgcode = hidepkgcode
and oprcode = hideoprcode