C# 对象引用未设置为对象的实例。DataRow dRow2=ds2.表[“own”].行[0];?/?

C# 对象引用未设置为对象的实例。DataRow dRow2=ds2.表[“own”].行[0];?/?,c#,sql,C#,Sql,试图从表中调用特定行并不断出现错误,有人能提供帮助吗? “我的数据库”有2行,5列中填充了值,您面临此错误,因为您没有为数据集分配任何值,或者数据集没有任何表,或者您的表没有任何行。所以在写下这行之前 ds0.Tables["own"].Rows[0]; 你需要检查一下 if(ds0!=null && ds0.Tables.Contains("own") && ds0.Tables["own"].Rows.Length > 0) { //you

试图从表中调用特定行并不断出现错误,有人能提供帮助吗?
“我的数据库”有2行,5列中填充了值,您面临此错误,因为您没有为数据集分配任何值,或者数据集没有任何表,或者您的表没有任何行。所以在写下这行之前

ds0.Tables["own"].Rows[0];
你需要检查一下

if(ds0!=null && ds0.Tables.Contains("own") && ds0.Tables["own"].Rows.Length >  0)
{
     //your code
}

ds0是BtnLogin_Click函数中的局部变量。为了快速修复,您可以让NavigateRecords接受数据集作为参数并返回数据集。

您是否调试了代码。。?尝试将数据集ds作为参数传递到导航记录中,如so private void NavigateRecordsDataSet ds“您熟悉术语SCOPE吗”“使变量名更有意义本质上也非常松散我怀疑ds0为null,调试器会告诉您,我假设您使用的是Visual Studio,它有一个出色的调试器。用它!它甚至可以省去你在这里输入问题的念头!这也是一个范围问题,一旦调用Navigate方法,他就无法访问数据集ds。@DJKRAZE我想不会,因为我在login\u click方法中看不到ds定义