Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从数据集填充数组_C#_.net_Web Services - Fatal编程技术网

C# 从数据集填充数组

C# 从数据集填充数组,c#,.net,web-services,C#,.net,Web Services,我尝试从数据集中填充数组。 首先,我创建一个类 public class BasvuruMaster { public string Tarih { get; set; } public string Icerik { get; set; } public string RefNo { get; set; } } 第二,我在创造联系 我可以连接到数据库,但无法填充数组 public BasvuruMaster[] BasvuruListele(string TCK

我尝试从数据集中填充数组。 首先,我创建一个类

public class BasvuruMaster
{
     public string Tarih { get; set; }
     public string Icerik { get; set; }
     public string RefNo { get; set; }
}
第二,我在创造联系

我可以连接到数据库,但无法填充数组

public BasvuruMaster[] BasvuruListele(string TCK)
{
  string stm = "SELECT TARIH,ICERIK ,REFNO FROM TABLE WHERE TCK=@TCK";
  MySqlDataAdapter da = new MySqlDataAdapter(stm, cnn);
  da.SelectCommand.Parameters.AddWithValue("@TCK", TCK);
  DataSet ds = new DataSet();
  da.Fill(ds);
  BasvuruMaster[] BasVurList = new BasvuruMaster[ds.Tables[0].Rows.Count];
    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
    {
      if (ds.Tables.Count > 0)
      {
        BasVurList[i].Tarih = ds.Tables[0].Rows[i + 1].ItemArray[0].ToString();
        BasVurList[i].Icerik = ds.Tables[0].Rows[i+1].ItemArray[1].ToString();
        BasVurList[i].RefNo = ds.Tables[0].Rows[i+1].ItemArray[2].ToString();
      }
    } 
  return BasVurList;
}
public basvurmaster[]BasvuruListele(字符串TCK)
{
string stm=“从表中选择TARIH、ICERIK、REFNO,其中TCK=@TCK”;
MySqlDataAdapter da=新的MySqlDataAdapter(stm,cnn);
da.SelectCommand.Parameters.AddWithValue(“@TCK”,TCK);
数据集ds=新数据集();
da.填充(ds);
BASVURMaster[]BasVurList=新的BASVURMaster[ds.Tables[0].Rows.Count];
对于(int i=0;i0)
{

BasVurList[i].Tarih=ds.Tables[0]。行[i+1]。ItemArray[0]。ToString(); BasVurList[i].Icerik=ds.Tables[0]。行[i+1]。ItemArray[1]。ToString(); BasVurList[i].RefNo=ds.Tables[0]。行[i+1]。项目数组[2]。ToString(); } } 返回巴斯夫利斯特; }
我该怎么办

错误消息是

中发生“System.NullReferenceException”类型的异常 WebApplication1.dll,但未在用户代码中处理


我试着深入地解释一下

数值数组元素的默认值设置为零,并且 引用元素被设置为null

由于您有一个
basvuramaster
数组(这是一个
,它是一个数组),所以您的所有元素都被初始化为
null
。由于您尝试访问
Tarih
Icerik
RefNo
值的属性,这就是为什么您会得到
NullReferenceException

您可以初始化for循环中的所有
basvurmaster
元素

BasvuruMaster[] BasVurList = new BasvuruMaster[ds.Tables[0].Rows.Count];
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
      if (ds.Tables.Count > 0)
      {
        BasVurList[i] = new BasvuruMaster(); <-- HERE
        BasVurList[i].Tarih = ds.Tables[0].Rows[i].ItemArray[0].ToString();
        BasVurList[i].Icerik = ds.Tables[0].Rows[i].ItemArray[1].ToString();
        BasVurList[i].RefNo = ds.Tables[0].Rows[i].ItemArray[2].ToString();
      }
} 
basvurmaster[]BasVurList=new basvurmaster[ds.Tables[0].Rows.Count];
对于(int i=0;i0)
{

BasVurList[i]=new basvurmaster();我们也可以看到
basvurmaster
的定义吗?在哪一行出现此错误?此外,我编辑了它。现在您可以看到basvurmaster。我在for循环中遇到了麻烦。BasVurList[i]。Tarih=ds.Tables[0]。行[i+1]。ItemArray[0]。ToString();此行有问题设置断点。请检查数据集。检查数组索引。行[i+1]仍将位于最后一行之后。在演示如何执行此操作时,请将if置于循环之外;)@拉尔夫:是的,我没有把重点放在那部分:)。更新了。谢谢,但我仍然有问题。当我尝试以这种方式编写时,我无法构建它。消息是找不到类型或命名空间名称“BasvurList”(您是否缺少using指令或程序集引用?@EgemenHALICI抱歉。它应该是
new basvurmaster()
。已修复。