C#自定义方法从dataset读到数组总提示未将对象引用设置到对象的实例 貌似是初始化的问题
publicstaticint[]GetQID(DataSetdataset_source){DataRowdr=null;int[]num=null;for(inti=...
public static int[] GetQID(DataSet dataset_source)
{
DataRow dr=null;
int[] num=null;
for (int i = 0; i < dataset_source.Tables[0].Rows.Count; i++)
{
dr = dataset_source.Tables[0].Rows[i];
num[i] = GetSafeData.ValidateDataRow_N(dr,"qID");
}
return num;
}
通过getsafedata可以返回列名为qID的在整数数据行,在调试中该函数可以返回正确的值但到了赋值给num[i]时出现了这个报错
int[] num=null实例化这句是不是有问题? 展开
{
DataRow dr=null;
int[] num=null;
for (int i = 0; i < dataset_source.Tables[0].Rows.Count; i++)
{
dr = dataset_source.Tables[0].Rows[i];
num[i] = GetSafeData.ValidateDataRow_N(dr,"qID");
}
return num;
}
通过getsafedata可以返回列名为qID的在整数数据行,在调试中该函数可以返回正确的值但到了赋值给num[i]时出现了这个报错
int[] num=null实例化这句是不是有问题? 展开
3个回答
展开全部
变量初始化有问题,缺少判断,没有处理DataSet可能为空等情况,也没有必要专门写一个返回DataRow的方法,直接取第几列的数据就是了,写了个例子在下面,希望对你有帮助:
public static int[] GetQID(DataSet ds)
{
List<int> results=new List<int>;
if(ds!=null&&ds.Tables.Count>0&&ds.Tables[0].Rows.Count>0)
foreach(DataRow dr in ds.Tables[0].Rows)
results.Add(Convert.ToInt32(dr[index])) //index指示你要取的是第几列,改成你要的数字
return results.ToArray();
}
有疑问请追问或是Hi
public static int[] GetQID(DataSet ds)
{
List<int> results=new List<int>;
if(ds!=null&&ds.Tables.Count>0&&ds.Tables[0].Rows.Count>0)
foreach(DataRow dr in ds.Tables[0].Rows)
results.Add(Convert.ToInt32(dr[index])) //index指示你要取的是第几列,改成你要的数字
return results.ToArray();
}
有疑问请追问或是Hi
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
num =GetSafeData.ValidateDataRow_N(dr,"qID");
而不是num[i]
而不是num[i]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询