大家能告诉我为什么吗?

Paul_Ni 2005-07-28 11:34:38
//this.crvAgentDetails.ReportSource = "CrystalReportAgentDetails.rpt";

OleDbConnection oleConn = new OleDbConnection("Provider=OraOLEDB.Oracle.1;User ID=hn114;Data Source=myoradb;Extended Properties=;Persist Security Info=True;Password=hn114");

OleDbDataAdapter dataAdapter = new OleDbDataAdapter ("SELECT * FROM CS_CALLWORK", oleConn);

DataSet dataSet = new DataSet ();

// 连接到数据库、从数据库中获取数据然后断开数据库连接
dataAdapter.Fill (dataSet, "CS_CALLWORK");

// 使用“报表引擎”对象模型将填充的数据集
//传递给报表
oRpt.SetDataSource (dataSet);

// 将带有数据的报表对象绑定到 Windows 窗体 Viewer
crystalReportViewer1.ReportSource = oRpt;

程序在运行的时候,弹出一个需要我输入数据库连接密码的对话框,我不清楚为什么?难道我每次拉报表都要输入数据库的密码吗?这样怎么给用户使用啊?


...全文
69 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Paul_Ni 2005-07-29
  • 打赏
  • 举报
回复
能具体给我一段代码吗?告诉我如何设置报表的数据库信息,不好意思,我是报表方面的新手。
请多多教我,谢谢!
TonyZeus 2005-07-29
  • 打赏
  • 举报
回复
CrystalReport1 cr1= new CrystalReport1();
TableLogOnInfo LInfo = new TableLogOnInfo();
LInfo = cr1.Database.Tables[0].LogOnInfo;
LInfo.ConnectionInfo.ServerName="服务器名";
LInfo.ConnectionInfo.DatabaseName = "数据库名";
LInfo.ConnectionInfo.UserID = "用户名";
LInfo.ConnectionInfo.Password = "你自己设置的密码";
cr1.Database.Tables[0].ApplyLogOnInfo(LInfo);
xwdd129 2005-07-29
  • 打赏
  • 举报
回复
'取得原来的TableLogonInfo对象
TableLogonInfo logonInfo = MyRpt.Database.Tables(0).LogonInfo
'改设置报表位置
logonInfo.ConnectionInfo.ServerName = DBPath //DBPath为数据库路径
'将新的连接信息套用至报表文件数据库位置
MyRpt.Database.Tables(0).ApplyLogonInfo(logonInfo)
TonyZeus 2005-07-28
  • 打赏
  • 举报
回复
这个是因为你程序中没有给它指定好数据库信息,用TableLogOnInfo就可以了

4,816

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧