mapDataTable->Columns->Add(gcnew DataColumn("minx",System::Type::GetType("System.String")));
mapDataTable->Columns->Add(gcnew DataColumn("mapData",System::Type::GetType("System.Image")));array<unsigned char>^ imgData = webClient->DownloadData(strImgURL);
dr[1] = imgData;红色那一行要放入一个图片数据,如何指定类型?如果数据直接从数据库里出来放入DataTable中当然不会有问题,但是现在是自已添加的一列,不知道如何指定类型,请各位达人帮忙红色那部份使用System::Type::GetType("System.Image")发生异常,TYPE不能为空如果换成mapDataTable->Columns->Add(gcnew DataColumn("mapData"))执行完
array<unsigned char>^ imgData = webClient->DownloadData(strImgURL);
dr[1] = imgData;
后dr[1]的值为system.bype[],也就是string类型的红色那部分使用mapDataTable->Columns->Add(gcnew DataColumn("mapData",System::Type::GetType("System.Byte")));
在执行array<unsigned char>^ imgData = webClient->DownloadData(strImgURL);
dr[1] = imgData;时发生异常,需要的是Byte类型,不能传Byte[]谢谢!

解决方案 »

  1.   

    如果是用sqlserver2005的话用二进制varbinary(max)
      

  2.   

    mapDataTable->Columns->Add(gcnew DataColumn("mapData",System::Type::GetType("System.Byte[]"))); Byte 换成Byte[]就可以了,,,头晕了,这个都没试下,如果能只保存图片的路径,当然更好,但是现在要实现的功能差不多要传数据,
      

  3.   

    问题再说一次,意思是说如果图片数据存放在数据库中的话,查询出来,直接填充DataSet或DataTable都是没有问题的,但是现在的话就是图片数据与一些基本数据是单独的,基本数据生成好dataSet或dataTable后,要自已加一列,将图片数据放进去,
    问题就出在,自已在dataTable中添加列的时候指定datacolumn的类型的时候不知道用什么类型
    直接用byte[]就可以了,,,
      

  4.   

    虽然说这是一个老帖子,但是想着方便后来人
    我还是弱弱的回一下
    在自己手动向DataTable里写数据的时候,如果单纯是向下面一样,在初始化列的时候只加一个列名,那么它默认情况下产生的是String类型的数据DataTable loTable = new DataTable();
    loTable.Columns.Add("Image");
    loTable.Columns.Add("Index");所以,如果我们要产生丰富多样的数据,就不能偷懒
    DataTable loTable = new DataTable();
    loTable.Columns.Add("Image", Type.GetType("System.Byte[]"));
    loTable.Columns.Add("Index", Type.GetType("System.Int32"));
    像这样的话,就是正确的数据.
    第一列是图片,第二列是整数