序列化DataTable的问题

amingo 2007-12-17 10:16:10
DataTable dt = GetTable();
dt.TableName = "mytable";
dt.RemotingFormat = SerializationFormat.Binary;

到这句dt.RemotingFormat = SerializationFormat.Binary;时出错

不能对 DataSet 和 DataTable 使用不同的远程格式属性值。

怎么解决?
...全文
651 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
amingo 2007-12-17
  • 打赏
  • 举报
回复
thans 各位 结帖了
waslee 2007-12-17
  • 打赏
  • 举报
回复
DATATABLE不能序列化吧!
DATASET可以序列化!
北京的雾霾天 2007-12-17
  • 打赏
  • 举报
回复
我确信了出错了原因:

当DataTable的DataSet不为空,且RemotingFormat 属性设置和它的DataSet的RemotingFormat 不一致的时候就会出错这个错误,测试代码如下:

DataSet ds = new DataSet();
ds.RemotingFormat = SerializationFormat.Xml;
ds.Tables.Add(dt);
dt.TableName = "mytable";
dt.RemotingFormat = SerializationFormat.Binary;


如果单一个DataTable设置不会有问题,
如果先设置了DataTable这个属性后,再添加到DataSet中,即使后来设置了DataSet不同的RemotingFormat也不会有问题。

一旦先设置了所属的DataSet,且设置了RemotingFormat不同,像上面的就会有这个错了。

所以,我觉得楼主查一下这个DataTable是否已具有了一个所属的DatSet。可以这样测试一下:

if (dataTable.DataSet !=null)
{
MessageBox.Show("不为空");
}

swafboxh 2007-12-17
  • 打赏
  • 举报
回复
UP
amingo 2007-12-17
  • 打赏
  • 举报
回复
也可能是remoting 配置文件设置不是二进制的
======================================
这个配置文件在哪里?
mainbaby 2007-12-17
  • 打赏
  • 举报
回复
我以前也遇到过一个DataTable无法序列化的问题,现在也不知道怎么回事,后来把DataTable放到DataSet里,序列化DataSet就通过了。建议楼主把DataTable放到DataSet里试一下。
songle912 2007-12-17
  • 打赏
  • 举报
回复
up
xiaojing7 2007-12-17
  • 打赏
  • 举报
回复
UP
heqi915 2007-12-17
  • 打赏
  • 举报
回复
友情UP
cuike519 2007-12-17
  • 打赏
  • 举报
回复
GetTable()方法贴出来看看,这了面你是new的DataTable还是从哪取得?DataSet和DataTable这些都是引用型的
北京的雾霾天 2007-12-17
  • 打赏
  • 举报
回复
不太清楚出错原因,只是我这里测试正常通过。
suyiming 2007-12-17
  • 打赏
  • 举报
回复
passed
applethink 2007-12-17
  • 打赏
  • 举报
回复
可能是dataset datatable都有<SerializableAttribute> 属性,这个序列化格式跟SerializationFormat.Binary不一样.也可能是remoting 配置文件设置不是二进制的
amingo 2007-12-17
  • 打赏
  • 举报
回复
如果只是一个DataTable或DataSet,这样做是没错的(我测试了没有错)。
可能出错的原因是,你的DataTable和他所属于的DataSet的RemotingFormat的设置是不一样的。

=====
就一个datatable 根本没有dataset
北京的雾霾天 2007-12-17
  • 打赏
  • 举报
回复
如果只是一个DataTable或DataSet,这样做是没错的(我测试了没有错)。
可能出错的原因是,你的DataTable和他所属于的DataSet的RemotingFormat的设置是不一样的。
bat800 2007-12-17
  • 打赏
  • 举报
回复
友情up
qq22345111 2007-12-17
  • 打赏
  • 举报
回复
up
帮顶
没碰到过!

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧