急求!连接数据库参数问题谢谢!
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
public partial class _Default : System.Web.UI.Page
{
private ReportDocument rpt = new ReportDocument();
ParameterFields paramFields = new ParameterFields();
ParameterField paramField = new ParameterField();
ParameterDiscreteValue discreteVal = new ParameterDiscreteValue();
ParameterRangeValue rangeVal = new ParameterRangeValue();
string strServerName, strdatabase, strpassword, struserid;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Bq_Click(object sender, EventArgs e)
{
rpt = new ReportDocument();
rpt.Load(Server.MapPath("ASP_Bomqurey1.rpt"));
strServerName = System.Configuration.ConfigurationManager.ConnectionStrings["servername"].ConnectionString;
strdatabase = System.Configuration.ConfigurationManager.ConnectionStrings["database"].ConnectionString;
struserid = System.Configuration.ConfigurationManager.ConnectionStrings["userid"].ConnectionString;
strpassword = System.Configuration.ConfigurationManager.ConnectionStrings["password"].ConnectionString;
TableLogOnInfo logonInfo = new TableLogOnInfo();
logonInfo.ConnectionInfo.ServerName =strServerName;
logonInfo.ConnectionInfo.DatabaseName =strdatabase;
logonInfo.ConnectionInfo.UserID = struserid;
logonInfo.ConnectionInfo.Password =strpassword;
rpt.Database.Tables[0].ApplyLogOnInfo(logonInfo);
paramField.ParameterFieldName = "@MA002";
discreteVal.Value = "";
paramField.CurrentValues.Add(discreteVal);
paramFields.Add(paramField);
paramField = new ParameterField();
paramField.ParameterFieldName = "@MB001";
discreteVal.Value = "1";
paramField.CurrentValues.Add(discreteVal);
paramFields.Add(paramField);
CrystalReportViewer1.ParameterFieldInfo = paramFields;
CrystalReportViewer1.ReportSource = rpt;
}
}
我测试过
CrystalReportViewer1.ParameterFieldInfo.Count.ToString(); 值已经为2了,
为什么我的参数没有传入到报表呢??
我的存储过程是
create proc ASP_Bomqurey1
@MB001 varchar(30),
@MA002 varchar(10)
AS
select top 200 MB001, MB002,MA002, MA003, MB028,MB064
from INVMB t1,INVMA t2
where MA002=MB005
AND( @MB001=''or MB001=@MB001)
AND( @MA002=''or MA002=@MA002)
ORDER BY MA002,MB001
我没有设置默认参数(其实设置不设置都一样)
补充 我在做水晶报表的时候没有连接数据库 而设置参数的时候到是可以传入 参数的
??
请问我怎么把这个参数怎么传入显示啊???/
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
public partial class _Default : System.Web.UI.Page
{
private ReportDocument rpt = new ReportDocument();
ParameterFields paramFields = new ParameterFields();
ParameterField paramField = new ParameterField();
ParameterDiscreteValue discreteVal = new ParameterDiscreteValue();
ParameterRangeValue rangeVal = new ParameterRangeValue();
string strServerName, strdatabase, strpassword, struserid;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Bq_Click(object sender, EventArgs e)
{
rpt = new ReportDocument();
rpt.Load(Server.MapPath("ASP_Bomqurey1.rpt"));
strServerName = System.Configuration.ConfigurationManager.ConnectionStrings["servername"].ConnectionString;
strdatabase = System.Configuration.ConfigurationManager.ConnectionStrings["database"].ConnectionString;
struserid = System.Configuration.ConfigurationManager.ConnectionStrings["userid"].ConnectionString;
strpassword = System.Configuration.ConfigurationManager.ConnectionStrings["password"].ConnectionString;
TableLogOnInfo logonInfo = new TableLogOnInfo();
logonInfo.ConnectionInfo.ServerName =strServerName;
logonInfo.ConnectionInfo.DatabaseName =strdatabase;
logonInfo.ConnectionInfo.UserID = struserid;
logonInfo.ConnectionInfo.Password =strpassword;
rpt.Database.Tables[0].ApplyLogOnInfo(logonInfo);
paramField.ParameterFieldName = "@MA002";
discreteVal.Value = "";
paramField.CurrentValues.Add(discreteVal);
paramFields.Add(paramField);
paramField = new ParameterField();
paramField.ParameterFieldName = "@MB001";
discreteVal.Value = "1";
paramField.CurrentValues.Add(discreteVal);
paramFields.Add(paramField);
CrystalReportViewer1.ParameterFieldInfo = paramFields;
CrystalReportViewer1.ReportSource = rpt;
}
}
我测试过
CrystalReportViewer1.ParameterFieldInfo.Count.ToString(); 值已经为2了,
为什么我的参数没有传入到报表呢??
我的存储过程是
create proc ASP_Bomqurey1
@MB001 varchar(30),
@MA002 varchar(10)
AS
select top 200 MB001, MB002,MA002, MA003, MB028,MB064
from INVMB t1,INVMA t2
where MA002=MB005
AND( @MB001=''or MB001=@MB001)
AND( @MA002=''or MA002=@MA002)
ORDER BY MA002,MB001
我没有设置默认参数(其实设置不设置都一样)
补充 我在做水晶报表的时候没有连接数据库 而设置参数的时候到是可以传入 参数的
??
请问我怎么把这个参数怎么传入显示啊???/
...全文
相关推荐
在数据库‘master’中拒绝CREATE DATABASE权限问题的解决方法
今天使用Linq To SQL,要求判断数据库是否存在,不存在是自动创建数据库。
idea中database不显示问题的解决
主要介绍了idea中database不显示问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
各种数据库连接工具Database4,用起来很方便
各种数据库连接工具Database4,用起来很方便,支持多重数据库连接
Kettle简单参数化配置连接数据库
参数化配置数据库连接,以及简单shell如何传参调度Kettle
Oracle 数据库(Database, DB)
数据库基本概念 数据库(Database, DB) 数据库管理系统(Database Management System, DBMS) 数据库管理员( Database Administrator, DBA) 数据库系统( Database System, DBS ) 关系型数据库 E-R 模型(Entry-Relation)


数据库报表
