1、新建一个dataset数据集比如为aDataset.xsd
2、在VS IDE左边的服务器资源管理器中添加你的数据库连接
3、打开aDataset.xsd
4、把你的存储过程对象直接拖放到你的aDataset.xsd,此时就会出现以你的存储过程中的数据结果进行保存的一个数据集的表结构(也可能有多张表)。——多个存储过程可以一起拖放到一个数据集中。然后你可以修改这些表名,以你熟悉的表名保存。
5、建立一个Crystal报表比如为aCrystalReport.rpt
6、在aCrystalReport.rpt中使用报表专家添加数据库,选择Ado.net数据集,添加数据集到报表。然后就可以设计你的报表并和数据绑定了。7、定义一个方法(或者是一个button的click事件响应的方法)
在方法内定义如下:
    DataSet atmpDS = new DataSet();  //缓冲数据集
    SqlDataAdapter sqlAdapter=new SqlDataAdapter();
    aCrystalReport aNewCryreport = new aCrystalReport(); //我们设计的报表此时是一个类
    SqlCommand sqlcm = new SqlCommand();
    sqlcm.CommandType = CommandType.StoredProcedure;//使用存储过程
    sqlcm.CommandText ="你的存储过程名";
    sqlcm.Parameters.Add…… //添加存储过程的参数和设置参数,不用我说了吧?
    
    sqlAdapter.SelectCommand = sqlcm; //选择使用的命令集
    sqlAdapter.Fill(atmpDS,"刚才第一到四步中的,你用到的表名");//填充数据
    //如果使用多个存储过程,那么上面的填充工作就重复进行
    然后设置aNewCryreport的数据源
    art.ResourceName = ……
    再然后显示报表就可以了。给分……