vs2005+wince下 BindingSource不能接收SqlCeDataReader?

gtongy   2009-12-30 15:53 楼主
vs2005 pc下可以这样绑定数据:
SqlCommand cmd=new SqlCommand("select * from table", conn);
SqlDataReader reader = cmd.ExecuteReader();
BindingSource1.datasource = reader;

wince下就会报错:"system.NotSupportException  GetEnumerator....."
SqlCeCommand cmd=new SqlCeCommand("select * from table", conn);
SqlCeDataReader reader = cmd.ExecuteReader();
BindingSource1.datasource = reader;

BindingSource不能接收SqlCeDataReader里的数据?我用的是.netcf2.0
是不支持还是我的代码错误?

回复评论 (7)

没用过BindingSource组件
最近手头没环境,要不然可以帮忙看看
点赞  2009-12-30 16:42
CE下的ADO.NET是支持 BindingSource数据源的。
我在WINCE5.0 .net framework2.0平台上读取PC端SQL SERVER数据库测试是没问题的。
具体代码:
SqlCommand cmd = new SqlCommand(sqlstr, sqlcon);
SqlDataReader reader = cmd.ExecuteReader();
BindingSource bs = new BindingSource();
bs.DataSource = reader;
dataGrid1.DataSource = bs;//读取到的数据在datagrid中显示
点赞  2009-12-30 17:22
楼上的兄弟,你说的就是我所提到的pc下的情况啊,现在问题是在wince下,用的是SqlCeDataReader不是SqlDataReader
点赞  2009-12-30 17:31
而且从报错信息来看是“system.NotSupportException”,我怀疑是wince下不支持该操作,也许ppc都能支持
点赞  2009-12-30 17:33
你在VS下创建的是c#的智能设备应用程序么
PC下的SqlDataReader跟CE下名字一样。
我上面附的代码就是c#的智能设备应用程序,在wince上运行没问题
点赞  2009-12-30 17:40
SqlDataReader对应MSSQLServer
SqlCeDataReader对应的是MSSQLServerCE Edition
2者不是同一个数据库,MSSQLServerCE是移动智能设备专用的数据库
问题应该出在数据库上吧
点赞  2009-12-30 18:02
引用: 引用 6 楼 ccqsk 的回复:
SqlDataReader对应MSSQLServer
SqlCeDataReader对应的是MSSQLServerCE Edition
2者不是同一个数据库,MSSQLServerCE是移动智能设备专用的数据库
问题应该出在数据库上吧

学习了,换SqlCeDataAdapter试下呢
点赞  2009-12-31 08:43
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复