你可以直接给crystal report数据集。我以前做过,但是具体我忘记怎么做的了。你先看看资料,如果找不到给我来信,我帮你看看我以前的程序在告诉你。my email:[email protected]
解决方案 »
- 问一个批处理命令行的问题
- 怎样判断此子窗体是否已经打开?
- 如何把string类型转为textbox控件类型??
- 读取数据库数据问题
- c#中什么控件可以设置时间(不是日期)?
- 关于报表数据源的问题,请高手指明一条出路,希望后天上班的时候解决掉
- 菜鸟问一个简单的问题
- 问两个问题:1、我怎么获得程序的安装路径;2、我怎么知道计算机上是否安装了PowerPoint,请大家多多帮忙
- Json序列化与反序列化,由于版本不一致,如何获取T类型
- WINFORM中treeview右击某接点弹出菜单,在右击没有接点的地方还是弹出菜单而且接点还是选中状态,怎么让它不再弹出菜单而且取消接点的选中
- 关于.net资源回收的问题,程序运行起来大的惊人(分不够再加)
- 初学.net 下载了几个源码,不知怎么设置运行。
就是说:DataSet----Crystal report----Viewer,肯定没问题,如要代码,请Email:[email protected]
是怎么建立的?
您可以通过DataSet的方式来访问后台数据库,这样您需要手动编码来提取数据,填充DataSet,并传递到报表文件中。在这里,您可以动态指定报表数据源。下面提供一些基本的步骤,关于更详细的信息,请参考下面的链接:
1.Solution Explorer/Add/Add New Item…/DataSet,按照提示建立DataSet;
2.Solution Explorer/Add/Add New Item…/Crystal Report,在建立数据库链接时(Database Expert窗口),请选择<Project Data>,利用上一步建立的DataSet。
如下提供一段示例代码供您参考(用来建立数据库链接,填充DataSet,并绑定到报表文件中):
Private Sub BindReport()
SqlConnection myConnection = New SqlConnection();
myConnection.ConnectionString = "Server=localhost;database=pubs;uid=sa;pwd=sa"; SqlCommand myCommand = New SqlCommand();
myCommand.Connection = myConnection;
//在这里根据您的情况,动态指定设定SQL语句
myCommand.CommandText = "Select * from Stores";
myCommand.CommandType = CommandType.Text; SqlDataAdapter myDA = New SqlDataAdapter();
myDA.SelectCommand = myCommand;
//这里的Dataset1为上面创建报表时建立
Dataset1 myDS =New Dataset1();
myDA.Fill(myDS, "Stores");
CrystalReport1 oRpt= New CrystalReport1();
oRpt.SetDataSource(myDS);
CrystalReportViewer1.ReportSource = oRpt;
End Sub
请根据您系统的实际情况,将提供的代码进行修改。希望以上答复给您带来帮助。
另外,Visual Studio.NET也提供了一些Crystal Report的简单例子[ C:\Program Files\Microsoft Visual Studio .NET\Crystal Reports\Samples ],可供您参考。关于Crystal Report的更详细信息,请参考如下网站:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q100368
http://community.crystaldecisions.net/
— 微软全球技术中心 VB支持中心本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
能说具体些吗?我只是一个菜鸟
我按照你的方法在C#里面做了一下,除了个错误信息,请您帮看一下是什么问题,谢谢!
SqlConnection myConnection = new SqlConnection();
myConnection.ConnectionString="server=tserver;uid= sa;pwd=;database =idg";
SqlCommand myCommand = new SqlCommand("SELECT * FROM Postnr",myConnection);
myCommand.CommandType = CommandType.Text;
myCommand.CommandTimeout = 30;
SqlDataAdapter myAdapter = new SqlDataAdapter();
myAdapter.SelectCommand = myCommand;myConnection.Open();DataSet myDS = new DataSet("Postnr");ReportDocument oRpt= new ReportDocument();
oRpt.SetDataSource(myDS);
crvSample.ReportSource=oRpt;
出错信息是:
未处理的“CrystalDecisions.CrystalReports.Engine.LoadSaveReportException”类型的异常出现在 crystaldecisions.crystalreports.engine.dll 中
其他信息:无效报表文件路径
.
.
using System.Data.SqlClient;
using CrystalDecisions.Web;
.
.
.
public class WebForm3 : System.Web.UI.Page
{
protected CrystalDecisions.Web.CrystalReportViewer CrystalReportViewer1;
.
.
. SqlConnection myConnection = new System.Data.SqlClient.SqlConnection();
myConnection.ConnectionString = "Server=server1\\server1;database=riseguide;uid=sa;pwd=superman"; SqlCommand myCommand = new SqlCommand();
myCommand.Connection = myConnection;
//在这里根据您的情况,动态指定设定SQL语句
myCommand.CommandText = "Select * from 房产房间资料";
myCommand.CommandType = CommandType.Text; SqlDataAdapter myDA = new SqlDataAdapter();
myDA.SelectCommand = myCommand;
//这里的Dataset1为上面创建报表时建立
DataSet myDS =new DataSet();
myDA.Fill(myDS, "房产房间资料");
CrystalReport1 oRpt= new CrystalReport1();//你需要建立一个报表文件CrystalReport1.rpt,并包含在项目中
oRpt.SetDataSource(myDS);
CrystalReportViewer1.ReportSource = oRpt;
.
.
.