public static DataTable dt;//存储数据的DataTable
.....
.....
void initdata()
{
dt= sql.ExcuteDataTable("SELECT * FROM QuestionPD");//从数据库读取一个Datatable 存到全局的静态变量里
。。
}void test()
{
for (int r = 0; r < dt.Rows.Count; r++)
//在另一个函数中调用读取到的数据 就出现“未将对象引用设置到对象的实例”错误,请问如何解决?
{
.....
}
}
.....
.....
void initdata()
{
dt= sql.ExcuteDataTable("SELECT * FROM QuestionPD");//从数据库读取一个Datatable 存到全局的静态变量里
。。
}void test()
{
for (int r = 0; r < dt.Rows.Count; r++)
//在另一个函数中调用读取到的数据 就出现“未将对象引用设置到对象的实例”错误,请问如何解决?
{
.....
}
}
if(dt!=null)
{
for (int r = 0; r < dt.Rows.Count; r++)
{
.....
}
}
出现“未将对象引用设置到对象的实例”错误,肯定是因为dt为空,加上判断,就能解决了。至于说“还是没法获得dt里面的数据”,那就是另外的问题了,你需要把其他相关代码贴上来。
if(dt!=null) {
...
}
然后在去操作他
还有就是public static DataTable dt; static?
{
for (int r = 0; r < dt.Rows.Count; r++)
//在另一个函数中调用读取到的数据 就出现“未将对象引用设置到对象的实例”错误,请问如何解决?
{
.....
}
}如果dt 为空的话,dt.Rows.Count=0,for循环根本就不执行,所以如果执行到for 循环里 出错的话,dt 应该是有值的,可能是其他原因出错。比如,如果你数据库里有DateTme 类型的数据,但是没有赋值的话,在前台通过 dt.Rows[i][j]取值的话,也会报这个错的,建议楼主好好检查一下
.....
.....
void initdata()
{
dt=new DataTable();dt= sql.ExcuteDataTable("SELECT * FROM QuestionPD");//从数据库读取一个Datatable 存到全局的静态变量里
。。
} void test()
{
if(dt!=null && dt.Rows.count >0)
{
for (int r = 0; r < dt.Rows.Count; r++)
//在另一个函数中调用读取到的数据 就出现“未将对象引用设置到对象的实例”错误,请问如何解决?
{
.....
}
}
}
public static DataTable dt=new DataTable();//存储数据的DataTable