Update Statement and ExecuteNonQuery Doesnot return C#, MySQ
本文关键字:MySQ return Doesnot Statement and ExecuteNonQuery Update | 更新日期: 2023-09-27 17:57:32
在我的C#、asp.net应用程序中,我在MySQl中插入字段值,然后在编辑后更新字段值。我使用了以下代码。它被执行,但值没有被添加到数据库中。我还用了
numRowsUpdated=cmd。ExecuteNonQuery();
但在调试器窗口中,它显示为
名称"numRowsUpdated"在当前上下文中不存在
我的代码:
protected void UpdateBtn_Click(object sender, EventArgs e)
{
int numRowsUpdated = -1;
string Query = "UPDATE employee SET EmployeeName=@a,EmpID =@b,Designation =@c,JoiningDate=@d,BankName =@e,AccountNumber = @f,Pancard =@g,PFNumber=@h WHERE id = @i" ;
if (GlobalCS.OpenConnection() == true)
{
MySqlCommand cmd = new MySqlCommand(Query, GlobalCS.objMyCon);
cmd.Parameters.AddWithValue("i", selectedid);
cmd.Parameters.AddWithValue("a", NameTxt.Text);
cmd.Parameters.AddWithValue("b", EmpidTxt.Text);
cmd.Parameters.AddWithValue("c", DesgTxt.Text);
cmd.Parameters.AddWithValue("d", JoinTxt.Text);
cmd.Parameters.AddWithValue("e", BankTxt.Text);
cmd.Parameters.AddWithValue("f", ACNoTxt.Text);
cmd.Parameters.AddWithValue("g", PANTxt.Text);
cmd.Parameters.AddWithValue("h", PFTxt.Text);
numRowsUpdated = cmd.ExecuteNonQuery();
}
GlobalCS.CloseConnection();
}
网格视图选择:
protected void OnSelectedIndexChanged(object sender, EventArgs e)
{
GridViewRow row = EmployeeGrid.SelectedRow;
selectedid = Convert.ToInt32(row.Cells[1].Text);
NameTxt.Text = row.Cells[2].Text;
EmpidTxt.Text = row.Cells[3].Text;
...
}
selectedid声明:
namespace SimERP
{
public partial class Employee : System.Web.UI.Page
{
int selectedid = -1;
protected void Page_Load(object sender, EventArgs e)
{
LoadEmployeeData();
}
代码看起来不错。您必须将@
符号与参数名称放在一起:
示例:
cmd.Parameters.AddWithValue("@i", selectedid);
cmd.Parameters.AddWithValue("@a", NameTxt.Text);
cmd.Parameters.AddWithValue("@b", EmpidTxt.Text);
cmd.Parameters.AddWithValue("@c", DesgTxt.Text);
更新:
Page_Load事件中似乎也缺少if(!IsPostBack)
:
namespace SimERP
{
public partial class Employee : System.Web.UI.Page
{
int selectedid = -1;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadEmployeeData();
}
}