首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请教:datatable某字段的返回值出错

2014-05-26 
请问:datatable某字段的返回值出错DataTable userdt new DataTable()BindingManagerBase mybindprivat

请问:datatable某字段的返回值出错
DataTable userdt = new DataTable();
 BindingManagerBase mybind;
  private void modifyUser_Load(object sender, EventArgs e)
  {
  userdt = getUserinfo("select * from users");//自定义函数,返回所有纪录
  DataGridview1.DataSource = userdt;
  mybind = BindingContext[userdt];
  }

  private void btn_del_Click(object sender, EventArgs e)
  {
  int IDPosition = this.mybind.Position;
  if (IDPosition != -1)
  { 
  //删除数据库中的行
  string userId = userdt.Rows[IDPosition]["user_Id"].ToString(); //error
  userUpdate("delete from user where user_Id =" + int.Parse(userId));
  }
  }

在error出错误提示"在位置2处没有任何行",但我已经选中了一行啊,"user_Id"是数据库表中的字段。请问哪里的错误??

[解决办法]
你加个注释点,跟踪一下。看看 string userId = userdt.Rows[IDPosition]["user_Id"].ToString(); 中的userdt是不是没有第二行。
[解决办法]
IDPosition 的问题 按错误提示应该是这个值为2 但是userdt的行数应该是<=2的 所以出这个错误
你看看IDPosition 是不是需要-1

热点排行