阿泰的软件实用主义

水晶报表/BOE

博客园 首页 新随笔 联系 订阅 管理
  208 Posts :: 9 Stories :: 3071 Comments :: 43 Trackbacks
 

2:新增加一个报表,数据源选取ADO.Net数据集



如果出现这个提示

那么请去掉勾选,找到我们前篇文章中所建立的xsd文件


后面就如同一般报表的创建过程了


3:剩下的过程就是代码了,很简单,呵呵,以下是核心代码。



4:请在此处下载代码 , winrar压缩,解压密码 : WWW.FACESUN.CN



posted on 2005-03-13 23:00 阿泰 阅读(4142) 评论(31)  编辑 收藏 网摘 所属分类: CR我的原创

Feedback

#1楼 2005-04-15 14:03 billtuan
为何我的vs.net中添加不了表?
已创建dataset1,但dataset1下显示的是"...未找到项目..."

没有出现上面的"ADO.NET XML"窗口!Why?

  回复  引用    

#2楼[楼主] 2005-04-15 14:13 阿泰      
第一篇你看了吗?需要先创建xsd
http://www.cnblogs.com/babyt/articles/118097.html">http://www.cnblogs.com/babyt/articles/118097.html

  回复  引用  查看    

#3楼 2005-04-15 14:52 bill tuan
前面的看了!

有msn吗?
我的:bill_tuan@hotmail.com
QQ:12370501

  回复  引用    

#4楼 2005-04-15 14:59 bill tuan
请问一下"字段定义"文件是怎么一回事?
PS:
我是在asp.net中做报表的.

  回复  引用    

#5楼[楼主] 2005-04-15 15:00 阿泰      
都有,白天都上不了。
:(

  回复  引用  查看    

#6楼[楼主] 2005-04-15 15:01 阿泰      
字段定义文件是给其他编程程序用的,他需要填充Recordset而不是DataSet
看这里
http://www.cnblogs.com/babyt/articles/135849.html">http://www.cnblogs.com/babyt/articles/135849.html

  回复  引用  查看    

#7楼 2005-04-15 17:59 bing
我的情况和一楼的一样:

为何我的vs.net中添加不了表?
已创建dataset1,但dataset1下显示的是"...未找到项目..."

我已经创建了dataset1.xsd
在数据库专家--项目数据--ADO。NET数据集--"...未找到项目..."
在数据库专家--更多数据源--ADO。NET(XML)中可以看到dataSet1中的表。



  回复  引用    

#8楼[楼主] 2005-04-15 22:27 阿泰      
两位可以看我刚写的该问题的解决方法
http://www.cnblogs.com/babyt/articles/138582.html">http://www.cnblogs.com/babyt/articles/138582.html
无论是否解决都回复一下让我知道你们的问题是否解决,谢谢:)

  回复  引用  查看    

#9楼 2005-04-19 15:13 bill tuan
问题已解决!

其实我的问题主要是由业务层返回的DataSet类型的数据集不可以直接作为报表的数据源(提示查询引挚错错误)!

解决的方法如下:

在界面层new报表的数据集(xsd文件定义的DataSet的派生类)rptDs,然后把此rptDs传至中间层的一个方法(object类型的参数接收),在中间层中填充数据返回作为报表的数据源即可.

向阿泰致谢,谢谢!

  回复  引用    

#10楼 2005-07-23 09:00 ask[未注册用户]
阿泰,我想下载创建不受数据库限制的报表 VB.Net 版本 -2的完整代码,可是现在下载不了,什么原因呢?我急用!!
  回复  引用    

#11楼 2005-07-23 17:26 ask[未注册用户]
阿泰,我完全按照你的方法去做,可是到了最后一关竟然出错了,出错原因是:无效报表源,你看一下我的程序是否错了,好吗?谢谢!程序如下:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim myDataset As New DataSet
Dim ORpt As New CrystalReport1
Dim myConnection As New OleDb.OleDbConnection
Dim myAdapter As OleDb.OleDbDataAdapter
Try
If myConnection.State = ConnectionState.Open Then myConnection.Close()
myConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
Application.StartupPath & "\Production.mdb" & ";Persist Security Info=False"
myConnection.Open()
myAdapter = New OleDb.OleDbDataAdapter("select * from Product", myConnection)
myAdapter.Fill(myDataset)
myConnection.Close()
ORpt.SetDataSource(myDataset)
CryRptView.ReportSource = ORpt
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

经过调试:错误语句是CryRptView.ReportSource = ORpt,我想了两天也想不错是什么原因,想去看看你的源代码,可是又下载不了,我晕阿,阿泰帮帮我吧,我实在没法了。:(

  回复  引用    

#12楼[楼主] 2005-07-23 20:46 阿泰      
下载地址已经修正了,你重新下载然后照着例子做一下吧,呵呵
  回复  引用  查看    

#13楼 2005-07-25 10:24 ask[未注册用户]
阿泰,太感谢你了!!!:)
  回复  引用    

#14楼 2005-09-23 17:30 薛薛[未注册用户]
阿泰,我用的是vs.net2003的自带水晶报表,不知为什么,我运行你的源码时,系统在 ''填充dataSet
adoOleDbDataAdapter.Fill(dataSet, "产品")
处报错,提示如下:
未处理的“System.Data.OleDb.OleDbException”类型的异常出现在 system.data.dll 中。
我最近才开始接触vs.net及水晶报表,实在不知道哪里出错,看前面的前辈们好像都没有出现我这种情况。阿泰,帮帮我吧。

  回复  引用    

是否DataSet中不存在“产品”表?把“产品”去掉看看?
  回复  引用    

#16楼 2005-09-26 12:55 薛薛[未注册用户]
呵呵,谢谢 那又如何。
我果然很菜啊。

  回复  引用    

#17楼 2005-10-18 17:04 双子x[未注册用户]
阿泰,我想问一下,源码中 crystalReport1.vb 类具体是起什么作用的。我整个看不太懂的说。不用这个类是否也可以完成报表的制作,如果不用的话应该如何简化?
  回复  引用    

#18楼 2005-10-23 11:16 KLEIN[未注册用户]
阿泰哪有下载水晶报表11啊
  回复  引用    

#19楼 2005-11-14 14:31 冰兒[未注册用户]
阿泰
請問為什麼我使用推的水晶報表
只要在.xsd和dataset加了第二個資料表和第一個資料表連結
來取第二個資料表的資料
執行後就會出現"未知的查詢引擎錯誤"
若我只使用一個資料表
就會正常執行
請問這是什麼問題呢??
謝謝!

  回复  引用    

adoOleDbDataAdapter.Fill(dataSet, "产品")
其中的“产品” 必须是dataSet对应的名称,否则会出现“查詢引擎錯誤”

  回复  引用    

#21楼 2005-11-15 17:32 冰儿[未注册用户]
To goldwatch
但是我只有写 sqlDataAdapter.Fill(DataSet11)
这样子..不行吗?
我有试过您的方法了
仍是出现"未知的查询引擎错误"
我想应该不是您说的这个原因
我只做一个资料表的资料不连第二个
就可以正执行
如果是您说的这个原因
应该是执行就会有错误...而不会等到连结第二个表才出现错误..
谢谢您的建议
请问还会有其他的原因吗??

  回复  引用    

#22楼 2006-02-26 11:04 pybjv[未注册用户]
我的报表使用预览正常,可是点击打印后,就是不能打印,与导出,这是为什么呢?
  回复  引用    

#23楼 2006-03-30 11:43 pll[未注册用户]
阿泰,你好,请教一个问题,开发环境: VS2003(C#.Net) + Crystal Reports 9.2+Win2000 我用的是推模式,在我自己机器上一切都正常,但打包后运行提示"报表内部错误,未能加载数据库信息!"数据源用字段定义的方式或ADO.Net(XML)的方式都一样
  回复  引用    

#24楼 2006-05-04 13:57 ST[未注册用户]
2005 下怎么这样的模式完全同不过呢?
  回复  引用    

#25楼 2006-06-02 15:22 真正[未注册用户]
@bing

  回复  引用    

#26楼 2006-08-03 12:36 liangge[未注册用户]
下载不了啊~~~
  回复  引用    

#27楼 2006-08-10 12:29 yfj[未注册用户]
delphi 水昌报表用ttx,有些能显示,有些不能显示,急啊
  回复  引用    

#28楼 2006-08-29 21:26 付杰[未注册用户]
地址无效了!上传一下好吗。
  回复  引用    

#29楼 2006-11-20 18:20 子陵[匿名]
最近在论坛中看到类似的问题,以及可以用这种方式进行解决的问题
因为CSDN不支持RTF格式,所以还是直接作了个图文教程
从最开始模板制作,抓图倒最后成文,用了近4个小时的时间,希望对大家的日常开发有些许帮助。

一般使用水晶报表进行报表开发时,都要先指定数据库连接。
但是如果我们从事三层开发时,一般是不允许水晶报表直接访问数据库的,
而是通过你的数据库处理层返回数据给水晶报表其实我们可以使用水晶报表中的字段定义作为数据来源,
来彻底摆脱与数据库的直接联系,从而开发出便于发布以及摆脱数据库限制的报表系统。


因为涉及到图文,所以请看以下连接,分成了三个部分
http://blog.csdn.net/babyt/archive/2004/09/12/101741.aspx
http://blog.csdn.net/babyt/archive/2004/09/12/101771.aspx
http://blog.csdn.net/babyt/archive/2004/09/12/101772.aspx

含全部模板及代码,毫无保留。

可解决如下问题:

报表数据源时常变动
无法准确从单表或者使用SQL语句获得的数据源
多客户共享数据打印时出现问题
等等等等

阿泰,你好,看过你上面的解决方案,还想请教一个问题,开发环境: VS2003(VB.Net) + Crystal Reports 9.2+Win2000 ,数据库是SQLServer2000,运用的三层架构设计。数据源用ADO.Net(XML)的方式,报表用的是推模式,在我自己机器上一切都正常,但打包后在其它机上安装后运行提示"报表内部错误,未能加载数据库信息!",不知道是什么原因?xsd文件分发的路径怎样?水晶报表所要求的合并模块我都已经加载了。

  回复  引用    

#30楼 2007-10-11 01:58 shcity      
您好:

为何在VS2005的WebSerivce项目里右击水晶报表的菜单里没有 Publish as web service啊?

  回复  引用  查看    

我现在存在一个问题那就是报表要展示的数据非常多,至少的都是百万级别的,如果用你这种模式,效率太差,很多情况下都会超出IIS的内存管理,请问有没有合适的办法?请发到我的邮箱里面谢谢

  回复  引用    




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 118098




相关文章:

相关链接: