新手求教:有关DataGrid对数据库的更新问题

tokilcoom 2004-12-16 07:08:22
一个数据表,里面一个布尔型字段flag。DataGrid显示这个字段,用checkbox表现出来。后面跟一个buttoncolumn。想用户点击这个checkbox,然后再点击button确认的时候,更新数据表的flag字段。
望大虾不吝赐教,怎么获取被选行的id值?id是自动编号的。
...全文
128 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
tokilcoom 2004-12-17
  • 打赏
  • 举报
回复
非常感谢

qixiao(七小)(做个斯文人)
scocsdn(发菜)

对我这个新手的指导 再次感谢
qixiao 2004-12-17
  • 打赏
  • 举报
回复
cmdUpdate=new OleDbCommand( "Update yonghu set kd_flag='true' Where id="+myID,conUpdate);
tokilcoom 2004-12-17
  • 打赏
  • 举报
回复
嗯 直接对id赋值测试了一下 应该是 kd_flag=True 但是myID好像没有得到值,id=myID提示说参数没有被指定值 我没有用EditCommandColumn而是用的ButtonColumn 然后对 OnItemCommand进行编辑
这应该也一样吧 望qixiao大虾指点
qixiao 2004-12-17
  • 打赏
  • 举报
回复
SQL Server中
kd_flag=1 'True
kd_flag=0 'False
tokilcoom 2004-12-17
  • 打赏
  • 举报
回复
把 kd_flag='true' 改成 kd_flag=true 也是一样的问题
tokilcoom 2004-12-17
  • 打赏
  • 举报
回复
cmdUpdate=new OleDbCommand( "Update yonghu set kd_flag='true' Where id='myID'",conUpdate);
cmdUpdate.ExecuteNonQuery();
System.Data.OleDb.OleDbException: 标准表达式中数据类型不匹配。

会是哪个类型不匹配呢? kd_flag是布尔型 id是自动编号
myID是int myID=(int)datagrid1.DataKeys[(int)e.Item.ItemIndex];
hs_tang7788 2004-12-16
  • 打赏
  • 举报
回复
同意发菜的方法
<asp:datagrid DataKeyField="Page_ID" OnUpdateCommand="myGrid_Update" ........>
DataKeyField设置成你数据表的标识ID字段名称

int myID=(int)datagrid1.DataKeys[(int)e.Item.ItemIndex];
在datagrid的update等事件可以取出ID的值
hs_tang7788 2004-12-16
  • 打赏
  • 举报
回复
翻译
string ID=this.DataGrid1.Items(this.DataGrid1.SelectedIndex).Cells[0].Text.Trim
tokilcoom 2004-12-16
  • 打赏
  • 举报
回复
请问qixiao(七小)(做个斯文人) c#应该怎么写? 谢了
qixiao 2004-12-16
  • 打赏
  • 举报
回复
假设你的ID在第一列
Dim ID as String
ID=Me.DataGrid1.Items(Me.DataGrid1.SelectedIndex).Cells(0).Text.Trim
然后根据这个ID写Update就可以了
tokilcoom 2004-12-16
  • 打赏
  • 举报
回复
调试出错,信息:System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。参数名: index
如何解决?
scocsdn 2004-12-16
  • 打赏
  • 举报
回复
<asp:datagrid DataKeyField="Page_ID" OnUpdateCommand="myGrid_Update" ........>
....................
<asp:EditCommandColumn ButtonType="PushButton" UpdateText="更新" CancelText="取消" EditText="修改"></asp:EditCommandColumn>
</asp:datagrid>
_________________________________________________________________________
protected void myGrid_Update(Object sender, DataGridCommandEventArgs e)
{
int myID=(int)datagrid1.DataKeys[(int)e.Item.ItemIndex];
................
}
an_andy 2004-12-16
  • 打赏
  • 举报
回复
up
tokilcoom 2004-12-16
  • 打赏
  • 举报
回复
?

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧