浩子

在.NET的世界里徜徉

My Links

Blog Stats

News

2005年4月18日 #

水晶报表 XI 发布了。

水晶报表 XI 发布了,这么短的时间里,从 9 到 10 到 11,Business Objects  终于完成了对 Crystal Decisions 产品线的整合,Business Objects 6 和 Crystal 10 都升级到了 11。学习吧。

posted @ 2005-04-18 16:56 浩子 阅读(519) 评论(0) 编辑

2005年1月25日 #

水晶报表的发布

网上关于 水晶报表的发布 的文章不少了,大家可以 GOOGLE  一下。
这里只提示一下,如果你在开发 ASP.NET 应用,在服务器上发布水晶报表时,只要使用随安装盘一起的 netsvr.msi 就可以了。
我发现使用 Crystal Decisions 提供的 MSM 打包不好用,文件被分发的乱七八糟。
如果你想打包到自己的 安装 工程中,不妨用 InstallShield 看一下 netsvr.msi 的结构就 OK 了。

给 博客园 的朋友们拜早年了。

posted @ 2005-01-25 11:04 浩子 阅读(1789) 评论(4) 编辑

2004年12月4日 #

关于 CrystalDecisions.CrystalReports.Engine.DataSourceException 异常

对于 CrystalDecisions.CrystalReports.Engine.DataSourceException 异常,不知大家是否遇到过?
可能引起该错误有以下几个:

1、部署错误,一定要注意如果用安装文件部署,要包含合适的 msm 文件,以确保:
Msvcr70.dll and Msvcp70.dll 位于目录 C:\WINNT\SYSTEM32 for VS 2002
Msvcr71.dll and Msvcp71.dll 位于目录 C:\WINNT\SYSTEM32 for VS 2003
2、查询或过程执行错误,首先要确保语句和过程正确,然后一定要验证报表中的数据集定义(报表中的绑定信息)、
数据集的定义、查询或过程返回的信息是严格对应的
3、不要在一个数据集里使用超过两个表,也就是说,如果一张报表(不算其中的子报表,那算另一张报表)绑定
的数据集中表的数目超过了两个,就会出这个问题(不知是否与版本有关,9.2.2.667)。没办法,只好用 SQL 把表合起来,苦。

我现在在解决第三个问题,那位高人如果有更好的办法,请帮忙。

posted @ 2004-12-04 23:34 浩子 阅读(1906) 评论(1) 编辑

不要忘了关闭你的数据库连接

前面写的水晶报表数据绑定代码中,有一个纰漏,就是没有关闭数据集,非常抱歉。
在进行完 DataSet 的数据集填充后,请不要忘了显式的关闭你的数据集。

如:

string sConnectionString = ConfigurationSettings.AppSettings["dbConnISMS"];

SqlConnection sqlConn = new SqlConnection(sConnectionString);
SqlCommand sqlComm = new SqlCommand();
SqlDataAdapter dataAdapter = new SqlDataAdapter();

sqlConn.Open();

sqlComm.Connection = sqlConn;
sqlComm.CommandType = CommandType.Text;

dataAdapter.SelectCommand = sqlComm;

Dataset1 dataSet = new Dataset1();

string sSQL = "SELECT * FROM T_REQUEST WHERE APPLI_ID = '" + appli_id + "'";

sqlComm.CommandText = sSQL;
dataAdapter.Fill(dataSet, "T_REQUEST");

sSQL = "SELECT * FROM T_REQUEST_INSPECTION WHERE APPLI_ID = '" + appli_id + "'";

sqlComm.CommandText = sSQL;
dataAdapter.Fill(dataSet, "T_REQUEST_INSPECTION");

sSQL = "SELECT * FROM T_ACCEPT WHERE APPLI_ID = '" + appli_id + "'";

sqlComm.CommandText = sSQL;
dataAdapter.Fill(dataSet, "T_ACCEPT");

sSQL = "SELECT * FROM T_ACCEPT_INSPECTION WHERE APPLI_ID = '" + appli_id + "'";

sqlComm.CommandText = sSQL;
dataAdapter.Fill(dataSet, "T_ACCEPT_INSPECTION");

sqlConn.Close();

oRpt.SetDataSource(dataSet);

oViewer.ReportSource = oRpt;

posted @ 2004-12-04 17:46 浩子 阅读(1428) 评论(6) 编辑

2004年11月22日 #

ASP.NET 页面中水晶报表导出之二

这个是从数据库中读出保存的文件并写到客户端,而且文且不会在客户端浏览器中直接打开。

string s_conn = ConfigurationSettings.AppSettings["dbConnISMS"];
SqlConnection conn = new SqlConnection(s_conn);

string sSQL = "SELECT CERTIFICATE, CERT_SIZE, CERT_FORMAT FROM T_ACCEPT_CERTIFICATE " +
 "WHERE SEQ_NO = " + sSeqNo;

SqlCommand comm = new SqlCommand(sSQL, conn);

conn.Open();

SqlDataReader reader = comm.ExecuteReader();

while (reader.Read())
{
 SqlBinary buffer = reader.GetSqlBinary(0);
 string format = reader["CERT_FORMAT"].ToString();
 string filename = "";

 switch (format)
 {
  case "1":
  {
   filename = "Certificate.doc";
   break;
  }
  case "2":
  {
   filename = "Certificate.xls";
   break;
  }
  case "3":
  {
   filename = "Certificate.pdf";
   break;
  }
 }

 string certsize = reader["CERT_SIZE"].ToString();

 Response.Clear();
 Response.ClearContent();
 Response.ClearHeaders();
 Response.ContentType = "application/octet-stream";
 Response.AddHeader("Content-Disposition", "attachment;FileName="+filename);
 Response.AddHeader("Content-Length", certsize);

 if (!buffer.IsNull)
  Response.BinaryWrite(buffer.Value);

 Response.End();
}

posted @ 2004-11-22 18:16 浩子 阅读(889) 评论(1) 编辑

ASP.NET 页面中水晶报表导出

一大段代码,看看吧。

string sDestFile = Path.GetTempFileName();

   string sExportFormatType = text_export.SelectedItem.Text;

   if (sExportFormatType == "")
    return;

   DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions();
   diskOpts.DiskFileName = sDestFile;

   oRpt.ExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;

   switch (sExportFormatType)
   {
    case "Mircrosoft Word 文档":
    {
     oRpt.ExportOptions.ExportFormatType = ExportFormatType.WordForWindows;
     break;
    }
    case "Mircrosoft Excel 文档":
    {
     oRpt.ExportOptions.ExportFormatType = ExportFormatType.Excel;
     break;
    }
    case "Adobe PDF 文档":
    {
     oRpt.ExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
     break;
    }
   }

   oRpt.ExportOptions.DestinationOptions = diskOpts;

   oRpt.Export();

   Response.ClearContent();
   Response.ClearHeaders();

   switch (sExportFormatType)
   {
    case "Mircrosoft Word 文档":
    {
     Response.ContentType = "application/msword";
     break;
    }
    case "Mircrosoft Excel 文档":
    {
     Response.ContentType = "application/vnd.ms-excel";
     break;
    }
    case "Adobe PDF 文档":
    {
     Response.ContentType = "application/pdf";
     break;
    }
   }

   Response.WriteFile(sDestFile);
   Response.Flush();
   Response.Close();

   File.Delete(sDestFile);

posted @ 2004-11-22 16:44 浩子 阅读(2847) 评论(8) 编辑

2004年11月19日 #

想写一些关于报表技术的文章

因为上几篇关于水晶报表的文章,很多朋友都 QQ 我关于这方面的技术,想多写一些关于水晶的 BLOG,就是最近太忙了,大家原谅。

posted @ 2004-11-19 10:46 浩子 阅读(681) 评论(3) 编辑

2004年11月2日 #

转一篇好文

摘要: http://www.vankeweekly.com/asp/bbs2/showAnnounce.asp?id=938245阅读全文

posted @ 2004-11-02 16:19 浩子 阅读(389) 评论(0) 编辑

2004年10月28日 #

水晶报表中子报表的数据绑定问题

摘要: 是否被水晶报表中子报表的数据绑定问题折磨过?该死的 LogonException 这也是我上一文章所说的问题http://www.cnblogs.com/haozidong/archive/2004/10/20/54489.html你可以通过单独用代码绑定子报表来解决这个问题。string sConnectionString = ConfigurationSettings.AppSettings[...阅读全文

posted @ 2004-10-28 17:22 浩子 阅读(3529) 评论(6) 编辑

2004年10月20日 #

被水晶报表的 登录异常 问题困扰了 N 天

摘要:     现在做的这个小项目中,又要用水晶报表,用这个冬冬实在是麻烦啊,汗!尤其是这个登录异常问题。上次做的项目中,有五十多张报表,似乎都没有问题。我用的都是用代码绑定的推模式,似乎不应该出这个问题了,没想到又碰到了。这次的情况是,报表中有一个子报表,主报表和子报表都绑定到一个数据集上,用代码向数据集中的两个表中传递数据,然后绑定,但每次都出登录异常(...阅读全文

posted @ 2004-10-20 09:43 浩子 阅读(3937) 评论(5) 编辑

仅列出标题  下一页