DataRow row = SqlDb.GetDog(Convert.ToInt32(Request["dogID"])).Rows[0];

来源:百度知道 编辑:UC知道 时间:2024/05/16 03:08:49
运行后提示:
在位置 0 处没有任何行。
懂得帮忙解答一下
“System.Data.DataRow.DataRow(System.Data.DataRowBuilder)”不可访问,因为它受保护级别限制。
用了if后出现这个了,我新手,不懂什么意思?
输入二楼的代码1处错误
输入三楼的代码12处错误

加个if判断一下:

DataRow row=new DataRow();
if(SqlDb.GetDog(Convert.ToInt32(Request["dogID"])).Rows.Count>0){
row = SqlDb.GetDog(Convert.ToInt32(Request["dogID"])).Rows[0];
}

--------------------

private?public..

表示查找数据库后,没有得到数据.也就是说一行也没有,当然不能访问了.

只是因为你使用了未负值的对象造成的。
一般应该这样
DataTable dt = SqlDb.GetDog(Convert.ToInt32(Request["dogID"]));
if (dt.Count() > 0)
{
DataRow row = dt.Rows[0];
}

实际上dt已经是你要的集合了。