winform 水晶报表 每次都要输入数据库密码
我已经做好了一张报表,要把它在crystalReportViewer1中显示stringstrPath=Application.StartupPath.Substring...
我已经做好了一张报表,要把它在crystalReportViewer1中显示
string strPath = Application.StartupPath.Substring(0, Application.StartupPath.Substring(0, Application.StartupPath.LastIndexOf("\\")).LastIndexOf("\\"));
strPath += @"\CrystalReport1.rpt";
this.crystalReportViewer1.ReportSource = strPath;
但每次调试都要输入数据库密码,怎样取消数据库登录这一步?这使用现有报表条件下。。
我电脑名称是 computer,数据库是database,用户名是sa,密码为 sa,望高手指教!
我的是SqlServer,
我按你说的添加了
string strCon = "database = database;user=sa;password=sa";
SqlConnection sconn = new SqlConnection();
sconn.ConnectionString = strCon;
sconn.Open();
还是不行啊? 展开
string strPath = Application.StartupPath.Substring(0, Application.StartupPath.Substring(0, Application.StartupPath.LastIndexOf("\\")).LastIndexOf("\\"));
strPath += @"\CrystalReport1.rpt";
this.crystalReportViewer1.ReportSource = strPath;
但每次调试都要输入数据库密码,怎样取消数据库登录这一步?这使用现有报表条件下。。
我电脑名称是 computer,数据库是database,用户名是sa,密码为 sa,望高手指教!
我的是SqlServer,
我按你说的添加了
string strCon = "database = database;user=sa;password=sa";
SqlConnection sconn = new SqlConnection();
sconn.ConnectionString = strCon;
sconn.Open();
还是不行啊? 展开
展开全部
据那是.net平台为了体现你编辑的报表样式而给你的预览,具体数据是根据你用报表专家选择的数据库中的数据而显示的,你可以这样理解。
1.你把你的预览和将来的数据要分开考虑,因为在水晶报表里主要编辑的是格式而不是数据,也就是说,你可以在水晶报表里指定格式,同时为每个将来显示数据的部分指定字段名,具体的数据源,你可以先放一边。你可以利用自己建立的,这里关键的是你要把格式和数据源的字段名弄清楚了。
2.如果你设定好了报表格式后,你可以添加一个新窗体,在里面放置一个crystalreportview控件,这个是专门用来预览水晶报表用的。
假设该预览用新窗体名称为ReportView,crystalreportview类型控件名为 CryView
主窗体名称为MainForm,打印按钮名称为 btn_Print
水晶报表名称为 CryReport.rpt
则点击打印按钮后,调用ReportView窗体,代码如下
ReportView myRp= newReportView(ReportSqlStr);
myRp.ShowDialog();
上面的代入参数ReportSqlStr是你检索数据所用的sql语句
在ReportView的load事件里写上
...
ds = myConn.GetData("tmpTable", tmpSql);
CryReport myrpt = new CryReport();
myrpt.SetDataSource(ds);
CryView.ReportSource = myrpt;
CryView.RefreshReport();
以上tmpSql是从上一个窗体传过来的sql语句,ds是一个dataset
myconn是一个对象,执行tmpsql语句返回dataset,你也可以自己写。
tmpTable是一个自定义的ds里面的表名,
注意,tmptable里面的字段名必须包含报表里编辑时的所有的字段名,否则就没有数据显示,如果报表编辑时在某个位置指定了A字段,而在tmptable里没有A字段,则报表就那块地方就会空白。
具体打印和格式在CryView控件里都有,不需要另外写代码。
1.你把你的预览和将来的数据要分开考虑,因为在水晶报表里主要编辑的是格式而不是数据,也就是说,你可以在水晶报表里指定格式,同时为每个将来显示数据的部分指定字段名,具体的数据源,你可以先放一边。你可以利用自己建立的,这里关键的是你要把格式和数据源的字段名弄清楚了。
2.如果你设定好了报表格式后,你可以添加一个新窗体,在里面放置一个crystalreportview控件,这个是专门用来预览水晶报表用的。
假设该预览用新窗体名称为ReportView,crystalreportview类型控件名为 CryView
主窗体名称为MainForm,打印按钮名称为 btn_Print
水晶报表名称为 CryReport.rpt
则点击打印按钮后,调用ReportView窗体,代码如下
ReportView myRp= newReportView(ReportSqlStr);
myRp.ShowDialog();
上面的代入参数ReportSqlStr是你检索数据所用的sql语句
在ReportView的load事件里写上
...
ds = myConn.GetData("tmpTable", tmpSql);
CryReport myrpt = new CryReport();
myrpt.SetDataSource(ds);
CryView.ReportSource = myrpt;
CryView.RefreshReport();
以上tmpSql是从上一个窗体传过来的sql语句,ds是一个dataset
myconn是一个对象,执行tmpsql语句返回dataset,你也可以自己写。
tmpTable是一个自定义的ds里面的表名,
注意,tmptable里面的字段名必须包含报表里编辑时的所有的字段名,否则就没有数据显示,如果报表编辑时在某个位置指定了A字段,而在tmptable里没有A字段,则报表就那块地方就会空白。
具体打印和格式在CryView控件里都有,不需要另外写代码。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询