环境:sqlserver2000, vs2010, winxp报表数据->新建->数据源->新建按钮 进入“数据源配置向导”
在其“应用程序将从哪里获取数据”中只有:数据库、服务、对象、SharePoint 四个选项因为考滤到易于发布的问题,我用的是sqlserver2000,所以不能用第一个“数据库”选项,那是针对 sql2005以上的功能,
我用的是简单的Model实体类,也不能用第二个“服务”选项,
SharePoint是什么东西都不知道,更不能用这个了,
所以只能用第三个“对象”选项。我试了其“对象”并不支持我(用工具自动)创建的Model实体,其格式大概是:
namespace MyPrj.Model
{
    //这样的实体类非常方便就能自动生成
    [Serializable]
    public class OrderInfo, ISerializable
    {
        //...(序列化所需代码)        //列
        public string OrderNo { get; set; }
        public string CustomerNo { get; set; }
        public string ItemNo { get; set; }
        public decimal QTY { get; set; }
        public decimal Amount { get; set; }
    }
}只能识别在IDE中新建的 xsd数据集 项,这没找到自动生成的规律,只能从界面上在里边一个个的建表、加字段,特别麻烦。
有没有什么办法自动生成这 xsd数据集?或者其它的在设计rdlc报表时能支持的对象?

解决方案 »

  1.   

    自己新建xsd吧。都什么年代了还用2000?
      

  2.   

    我也不想用sql2000呀,但sql2005以上的数据库安装起来太麻烦了,给人家装sql2000的桌面版很方便,可以一步到位。
      

  3.   

    rdlc报表的数据源,没有更好的办法么?
      

  4.   

    找到一个弯路:xsd数据集 中有 TableAdapter 项,这个可以对应到sql2000(OLEDB)中的某个表,我只要把存储过程的结果集的结构保存到一个固定表中就是了,到时用“select * from myProc_Struc”就能自动带出相关实体类的字段。这得得益于我的每个存储过程返回的都是一个临时表 #ret,要得到存储过程返回的表结构就相当容易了,只要在返回结果之前加上:
    if object_id('thisProc_Struc') is not null drop table '+@sStrucName+'
    select top 0 * into thisProc_Struc from #ret