asp.net gridview为何无法更新到数据库? 50
我在gridview里编辑某一行,然后点击commandfield创建的更新按钮为何UpdateCommand不起作用?<asp:AccessDataSourceID="...
我在gridview里编辑某一行,然后点击commandfield创建的更新按钮为何UpdateCommand不起作用?
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="user.mdb"
SelectCommand="SELECT * FROM [userinf] WHERE ([username] = ?)"
DeleteCommand="DELETE FROM [userinf] WHERE (([username] = ?) OR ([username] IS NULL AND ? IS NULL))"
InsertCommand="INSERT INTO [userinf] ([username], [na], [age], [sex], [location], [school], [picture], [certificate], [favorite]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"
UpdateCommand="UPDATE userinf SET na = '+GridView.Rows[0].Cells[2].Text+', age = '+GridView.Rows[0].Cells[3].Text+', sex = '+GridView.Rows[0].Cells[4].Text+', location = '+GridView.Rows[0].Cells[5].Text+', school = '+GridView.Rows[0].Cells[6].Text+', picture = ?, certificate = ?, favorite = '+GridView.Rows[0].Cells[9].Text+' WHERE (username = ?) OR (username IS NULL) AND (? IS NULL)"> 展开
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="user.mdb"
SelectCommand="SELECT * FROM [userinf] WHERE ([username] = ?)"
DeleteCommand="DELETE FROM [userinf] WHERE (([username] = ?) OR ([username] IS NULL AND ? IS NULL))"
InsertCommand="INSERT INTO [userinf] ([username], [na], [age], [sex], [location], [school], [picture], [certificate], [favorite]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"
UpdateCommand="UPDATE userinf SET na = '+GridView.Rows[0].Cells[2].Text+', age = '+GridView.Rows[0].Cells[3].Text+', sex = '+GridView.Rows[0].Cells[4].Text+', location = '+GridView.Rows[0].Cells[5].Text+', school = '+GridView.Rows[0].Cells[6].Text+', picture = ?, certificate = ?, favorite = '+GridView.Rows[0].Cells[9].Text+' WHERE (username = ?) OR (username IS NULL) AND (? IS NULL)"> 展开
7个回答
2011-07-06
展开全部
GridView是自带编辑功能,更新和删除功能的。
只是因为你在绑定数据源的时候没有选择一个“高级”选项,这个选项就是实现上述功能的,它会自动生成SQL语句。截图给你看吧。
不过,如果你的数据库中建了约束,你更新的时候就得注意了,随便输是会出错的。我想这就是大家在说RowUpdating,Rowdeleting事件的原因了,在这些事件里你自己可以判断,而GridView自带的那个我也不知道它生成的代码在哪,我也不会弄。
就是我加的图的那个“高级”按钮,你点击进去,再勾选一个选项就可以了。
另外,虚机团上产品团购,超级便宜
只是因为你在绑定数据源的时候没有选择一个“高级”选项,这个选项就是实现上述功能的,它会自动生成SQL语句。截图给你看吧。
不过,如果你的数据库中建了约束,你更新的时候就得注意了,随便输是会出错的。我想这就是大家在说RowUpdating,Rowdeleting事件的原因了,在这些事件里你自己可以判断,而GridView自带的那个我也不知道它生成的代码在哪,我也不会弄。
就是我加的图的那个“高级”按钮,你点击进去,再勾选一个选项就可以了。
另外,虚机团上产品团购,超级便宜
展开全部
GridView是自带编辑功能,更新和删除功能的。
只是因为你在绑定数据源的时候没有选择一个“高级”选项,这个选项就是实现上述功能的,它会自动生成SQL语句。截图给你看吧。
不过,如果你的数据库中建了约束,你更新的时候就得注意了,随便输是会出错的。我想这就是大家在说RowUpdating,Rowdeleting事件的原因了,在这些事件里你自己可以判断,而GridView自带的那个我也不知道它生成的代码在哪,我也不会弄。
就是我加的图的那个“高级”按钮,你点击进去,再勾选一个选项就可以了。
只是因为你在绑定数据源的时候没有选择一个“高级”选项,这个选项就是实现上述功能的,它会自动生成SQL语句。截图给你看吧。
不过,如果你的数据库中建了约束,你更新的时候就得注意了,随便输是会出错的。我想这就是大家在说RowUpdating,Rowdeleting事件的原因了,在这些事件里你自己可以判断,而GridView自带的那个我也不知道它生成的代码在哪,我也不会弄。
就是我加的图的那个“高级”按钮,你点击进去,再勾选一个选项就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能需要重新绑定一样 。 gridview1.DataBind() 或重新转到本页。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是数据库表中某个字段的类型与你更改的值冲突啊,打断点跟一下吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
gridview 里面需要DataKeyNames属性 为主键..就可以更新了
追问
这个怎么写?我是新手
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询