• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
多想,再做!
博客园    首页    新随笔    联系   管理    订阅  订阅

ODBC 的数据库 报表登录和传递参数

研究了一天的报表的数据源是ODBC,界面中向报表里传递参数,终于不负有心人,弄出来了。分享...
 public string ExportToDisk(string reportPath , string paramValue)
        
{
         TableLogOnInfo logOnInfo 
= new TableLogOnInfo();
            logOnInfo.ConnectionInfo.ServerName 
= "SSI";
            logOnInfo.ConnectionInfo.DatabaseName 
= "Report";
            logOnInfo.ConnectionInfo.UserID 
= "sa";
            logOnInfo.ConnectionInfo.Password 
="1";            
            
//设置数据库
            
            ReportDocument RptDoc 
= new ReportDocument();
            RptDoc.Load(reportPath);
            
            
for (int table_count = 0; table_count < RptDoc.Database.Tables.Count; table_count++)
            
{
                RptDoc.Database.Tables[table_count].ApplyLogOnInfo(logOnInfo);
            }

           
// 报表里的表各个都进行登录
            
            RptDoc.Refresh();
           
// 刷新,一定要在数据库登录后进行刷新,不然会出错
            
            
            RptDoc.DataDefinition.ParameterFields[
0].CurrentValues.AddValue(paramValue);
            RptDoc.DataDefinition.ParameterFields[
0].DefaultValues.AddValue(paramValue);
           
// 传递参数,要在刷新之后进行传递,不然传递的参数都会被刷新掉,会报缺少参数值的错误
           
//如果是多个参数,可以做个循环(RptDoc.DataDefinition.ParameterFields.Count)做为判断条件。
            
           
// 剩余的操作是导出报表了,这个大家都会,我就不多说了。
        }
有说错的地方,希望大家指正。呵呵
posted @ 2008-04-17 14:34  Annie  阅读(515)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3