C#水晶报表每次打开都要输入数据库连接的号和密码,请高手给个解决方案,谢谢。。急。。。

复制代码的,不进。。。给个详细的解决方案,我是新手,不怎么会、、、谢谢了。。。。

第1个回答  2011-08-22
你的水晶报表是用代码连接的数据库吗?
如果是的话,检查一下查询数据库的方法是不是写到if(!IsPostBack)里了,不能写进去的追问

string AsnNo = config.configString;
DataSet ds = Conn.SelectReceipt(AsnNo); CrystalReport2 crp = new CrystalReport2(); crp.Refresh(); crp.Load(Application.StartupPath + "CrystalReport3.rpt"); crp.SetDataSource(ds);this.crystalReportViewer1.ReportSource = crp;this.crystalReportViewer1.RefreshReport();
每次打开都要输入数据库名称和密码,能不能在哪里设置到项目里边?

追答

你的数据库连接字符串怎么写的?
一般都是放在webConfig文件里的
PS:你贴的代码不全啊

追问



是这个么?

追答

恩,你是读取webConfig来获取数据连接的吗?
你是每次打开浏览界面提示输入,还是在点击打印是提示输入?

追问

我写在page_lode里边的,每次打开这个页面就弹个输入框,叫我输入数据库名称和密码,我就是想问下,怎么在程序里边写代码或者是设置,让他一直保留连接打开状态撒,不要打开页面就输入?

追答

保留连接打开状态是不可能的,数据库连接在使用后必须关闭
其实你是想保存数据库名和密码吧?
你可以使用Session或ViewState来保持,在page_lode里判断Session或ViewState里是否有值,没有就弹出对话框并把值保存起来,反之则不弹出直接获取值

追问

我在显示报表的前面判断了数据库是连接成功的,我断点的时候,就是把page_lode里边的东西走完了,就弹那个框出来。。。

追答

那个框是你自己写的吗?如果是的话,你可以控制不叫它弹出啊

追问

汗,怎么可能是我自己写的呢?是不是C#(VS2005)连接Oracle做得水晶报表,打开的时候都会弹出一个数据库用户名和密码的登录框啊?

追答

你检查一下page_lode走完后,有没有给水晶报表绑上数据库
PS:你这种方法我没有试过,一般都是先给一个XSD数据集绑定数据库,然后再把这个数据集绑定到水晶报表上

本回答被提问者采纳
第2个回答  2011-08-22
好象是不能直接连接的要依托一个XSD的数据集才可以的,实际上还是自己装载一个数据集的
第3个回答  2011-08-23
好象是不能直接连接的要依托一个XSD的数据集才可以的,实际上还是自己装载一个数据集的

C#水晶报表每次打开都要输入数据库连接的号和密码,请高手给个解决方案...
如果是的话,检查一下查询数据库的方法是不是写到if(!IsPostBack)里了,不能写进去的

怎样用c#.net制作水晶报表并且连接Oracle数据库
第二,在CrystalReports库中选择使用报表向导,标准,确定。然后在弹出的创建报表向导中展开创建新连接,选择OLE DB,然后选择一个提供程序,我选择的是Micrisoft OLEDB Provider for Sql server ,若是Oracle 则选择相应的提供程序。第三,选择下一步,选择则你所要连接数据库的服务器名称,用户名,密码...

水晶报表-- asp.net(c#)连 oracle总是输出‘ 您请求的报表需要更多信息...
ReportDocument rd = new CrystalReport();ConnectionInfo ci = new ConnectionInfo()ci.ServerName="DNZX";ci.UserID = "user";ci.Password = "user";TableLogOnInfo tli = new TableLogOnInfo();tli.ConnectionInfo = ci foreach(Table tbCurrent in rd.Database.Tables){ tbCurrent.ApplyLog...

...表格里面的公式都已经写好,且最好不用调用数据库,
1计算是C# 进行,导出在excel模板里面 2计算是C# 进行,导出在水晶报表里面 3使用user32.dll的api方法,打开一个excel在你界面中间 都可以实现你想要的

相似回答