在位置 1 处没有任何行

时间:2022-05-07 10:49:47
 if (txtName.Text == string.Empty)
        {
            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.

#5


Rows[1]未null

#6


引用 3 楼 zhangtilei053 的回复:
gvPrice.Rows[i].Cells[1].Text = usermanage.FindUserByUserID(usermanage, "tb_user").Tables[0].Rows[i][1].ToString();
这个地方报错


加上判断一样报错,另外表中只有一行数据时正常,多行数据时出错。

#7


引用 5 楼 mking0412 的回复:
Rows[1]未null


表中有数据,另外表中只有一行数据时正常,多行数据时出错。

#8


gvPrice.DataSorce 里面的应该是没用行。里面的值为空。

#9


一条数据 ? 索引应该为0吧

#10


gvPrice.Rows[i].Cells[ 0].Text

#11


引用 8 楼 liuleiyu121520 的回复:
gvPrice.DataSorce 里面的应该是没用行。里面的值为空。


解决了  一条索引是为0  没注意啊   嗷··········

#12


引用 11 楼 zhangtilei053 的回复:
引用 8 楼 liuleiyu121520 的回复:
gvPrice.DataSorce 里面的应该是没用行。里面的值为空。


解决了 一条索引是为0 没注意啊 嗷··········

以前我也碰到过类是的情况。呵呵!解决了就好。下次就别出现类是的问题了就好了

#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.

#5


Rows[1]未null

#6


引用 3 楼 zhangtilei053 的回复:
gvPrice.Rows[i].Cells[1].Text = usermanage.FindUserByUserID(usermanage, "tb_user").Tables[0].Rows[i][1].ToString();
这个地方报错


加上判断一样报错,另外表中只有一行数据时正常,多行数据时出错。

#7


引用 5 楼 mking0412 的回复:
Rows[1]未null


表中有数据,另外表中只有一行数据时正常,多行数据时出错。

#8


gvPrice.DataSorce 里面的应该是没用行。里面的值为空。

#9


一条数据 ? 索引应该为0吧

#10


gvPrice.Rows[i].Cells[ 0].Text

#11


引用 8 楼 liuleiyu121520 的回复:
gvPrice.DataSorce 里面的应该是没用行。里面的值为空。


解决了  一条索引是为0  没注意啊   嗷··········

#12


引用 11 楼 zhangtilei053 的回复:
引用 8 楼 liuleiyu121520 的回复:
gvPrice.DataSorce 里面的应该是没用行。里面的值为空。


解决了 一条索引是为0 没注意啊 嗷··········

以前我也碰到过类是的情况。呵呵!解决了就好。下次就别出现类是的问题了就好了