{
gvPrice.DataSource = pricemanage.GetAllPrice("tb_price").Tables[0];
gvPrice.DataBind();
for (int i = 0; i < pricemanage.GetAllPrice("tb_price").Tables[0].Rows.Count; i++)
{
usermanage.UserID = pricemanage.GetAllPrice("tb_price").Tables[0].Rows[i][2].ToString();
newtaskmanage.TaskID = pricemanage.GetAllPrice("tb_price").Tables[0].Rows[i][4].ToString();
if (usermanage.UserID != null && newtaskmanage.TaskID != null)
{
gvPrice.Rows[i].Cells[1].Text = usermanage.FindUserByUserID(usermanage, "tb_user").Tables[0].Rows[i][1].ToString();
gvPrice.Rows[i].Cells[3].Text = newtaskmanage.FindByTaskID(newtaskmanage, "tb_newtask").Tables[0].Rows[i][1].ToString();
}
gvPrice.Rows[i].Cells[4].Text = Convert.ToDateTime(pricemanage.GetAllPrice("tb_price").Tables[0].Rows[i][6].ToString()).ToLongDateString();
}
}
调用的方法:
public DataSet FindUserByUserID(userManage usermanage, string tbName)
{
SqlParameter[] prams ={
data.MakeInParam("@userid",SqlDbType.Int,4,usermanage.UserID)
};
return (data.RunProcReturn("select * from tb_user where userid=@userid", prams, tbName));
}
public DataSet RunProcReturn(string procName, SqlParameter[] prams, string tbName)
{
SqlDataAdapter dap = CreateDataAdaper(procName, prams);
DataSet ds = new DataSet();
dap.Fill(ds, tbName);
this.Close();
//得到执行成功返回值
return ds;
}
12 个解决方案
#1
是那一步开始报错的?
#2
有索引的地方都调试下
#3
gvPrice.Rows[i].Cells[1].Text = usermanage.FindUserByUserID(usermanage, "tb_user").Tables[0].Rows[i][1].ToString();
这个地方报错
这个地方报错
#4
楼主应该先判断一下
usermanage.FindUserByUserID(usermanage, "tb_user")是否为空,usermanage.FindUserByUserID(usermanage, "tb_user").Tables[0].Rows.count是否大于0.
usermanage.FindUserByUserID(usermanage, "tb_user")是否为空,usermanage.FindUserByUserID(usermanage, "tb_user").Tables[0].Rows.count是否大于0.
#5
Rows[1]未null
#6
加上判断一样报错,另外表中只有一行数据时正常,多行数据时出错。
#7
表中有数据,另外表中只有一行数据时正常,多行数据时出错。
#8
gvPrice.DataSorce 里面的应该是没用行。里面的值为空。
#9
一条数据 ? 索引应该为0吧
#10
gvPrice.Rows[i].Cells[
0].Text
#11
解决了 一条索引是为0 没注意啊 嗷··········
#12
以前我也碰到过类是的情况。呵呵!解决了就好。下次就别出现类是的问题了就好了
#1
是那一步开始报错的?
#2
有索引的地方都调试下
#3
gvPrice.Rows[i].Cells[1].Text = usermanage.FindUserByUserID(usermanage, "tb_user").Tables[0].Rows[i][1].ToString();
这个地方报错
这个地方报错
#4
楼主应该先判断一下
usermanage.FindUserByUserID(usermanage, "tb_user")是否为空,usermanage.FindUserByUserID(usermanage, "tb_user").Tables[0].Rows.count是否大于0.
usermanage.FindUserByUserID(usermanage, "tb_user")是否为空,usermanage.FindUserByUserID(usermanage, "tb_user").Tables[0].Rows.count是否大于0.
#5
Rows[1]未null
#6
加上判断一样报错,另外表中只有一行数据时正常,多行数据时出错。
#7
表中有数据,另外表中只有一行数据时正常,多行数据时出错。
#8
gvPrice.DataSorce 里面的应该是没用行。里面的值为空。
#9
一条数据 ? 索引应该为0吧
#10
gvPrice.Rows[i].Cells[
0].Text
#11
解决了 一条索引是为0 没注意啊 嗷··········
#12
以前我也碰到过类是的情况。呵呵!解决了就好。下次就别出现类是的问题了就好了