Asp.net 更新命令在gridview中不起作用
更新命令的我的代码:Asp.net 更新命令在gridview中不起作用,asp.net,Asp.net,更新命令的我的代码: public void update(name,email,phone) { using {sqlconnection con=new sqlconnection("some connection source")) { con.open(); string str = "UPDATE register SET name = @name,email = @email WHERE phone = "@phone";
public void update(name,email,phone)
{
using {sqlconnection con=new sqlconnection("some connection source"))
{
con.open();
string str = "UPDATE register SET name = @name,email = @email WHERE phone = "@phone";
using(sqlcommand cmd=new sqlcommand(str,con))
{
cmd.commandtype=commandtype.text;
cmd.parameters.addwithvalue("@name",name);
cmd.parameters.addwithvalue("@email",email);
cmd.parameters.addwithvalue("@phone",phone);
cmd.executenonquery();
}
}
}
我的行更新事件如下:
string name = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text;
string email = ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text;
int phone = Convert.ToInt32(GridView1.Rows[e.RowIndex].Cells[3].Text);
update(name, email, phone);
GridView1.EditIndex = -1;
bindgridview();
在我的桌上,手机是主键,当我按下更新按钮时,它不会启动,也不会改变。有人能看到我的代码并告诉我哪里做错了吗?你的更新语句中缺少简单的
引号(“”),使用后不必要的{
,并确保你的连接也关闭了没有关闭引号(“”)在更新语句和关闭连接的位置中,您的代码似乎有一些输入错误:1)使用{sqlconnection con=…
:将{
替换为(
.2)…where phone=“@phone”
应该是…where phone=@phone”
(不需要的引号)。您在网格上订阅的是什么事件?尝试订阅“更新”事件而不是“更新”您的代码示例将引发编译器错误-请检查已经提到的问题,尝试逐步调试事件处理程序和更新方法,并告诉我们您得到了什么。@GlennFerrieLive:rowupdated事件不起作用,我认为e没有缺少引号-这是多余的。@Filburt:它只有2个电话,没有错误,什么都没有。但它没有更新。@user1157685如果一切正常,请在web.config中检查连接字符串。