我刚刚安装了Visual Studio 2012,一切都与2010年的Crystal报告一致,但是当我将代码迁移到2012时,我无法显示任何内容。你可以检查这段代码中是否有我遗漏的东西:
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection cnn;
string connectionString = null;
string sql = null;
connectionString = "data source=server; initial catalog=DBO;user id=sa; password= passw0rd";
cnn = new SqlConnection(connectionString);
cnn.Open();
sql = "select BadgeNo as DataColumn1,Name as DataColumn2, Section as DataColumn3 from Safety where ID = '24'";
SqlDataAdapter dscmd = new SqlDataAdapter(sql, cnn);
cnn.Close();
DataSet1 ds = new DataSet1();
dscmd.Fill(ds, "DataTable1");
ReportobjRpt = new Report1 ();
objRpt.SetDataSource(ds.Tables[0]);
CrystalReportViewer1.ReportSource = objRpt;
CrystalReportViewer1.RefreshReport();
}
我正在使用数据集将数据从SQL服务器传输到crystal报表。请帮忙。谢谢。
答案 0 :(得分:1)
尝试这种方式:
using CrystalDecisions.CrystalReports.Engine;
public partial class Default2 : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(“Connection String “);
protected void Page_Load(object sender, EventArgs e)
{
con.Open();
ReportDocument rpt = new ReportDocument();
rpt.Load(Server.MapPath("~/CrystalReport.rpt"));
SqlCommand cmd = new SqlCommand("Select * from Raj_Table[tbl_name]", con);
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
da.SelectCommand = cmd;
da.Fill(ds, "Raj_Table[TableName]");
rpt.SetDataSource(ds);
con.Close();
CrystalReportViewer1.ReportSource = rpt;
CrystalReportViewer1.DataBind();
}
}
它会帮助你。
答案 1 :(得分:0)
此代码可以帮助您:
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection cnn;
string connectionString = null;
string sql = null;
connectionString = "data source=server; initial catalog=DBO;user id=sa; password= passw0rd";
cnn = new SqlConnection(connectionString);
cnn.Open();
SqlCommand com = new SqlCommand("select BadgeNo as DataColumn1,Name as DataColumn2, Section as DataColumn3 from Safety where ID = '24'", conn);
adap.SelectCommand = com;
adap.Fill(tables);
ReportDocument doc;
myreport.SetDataSource(tables);
doc = new ReportDocument();
doc.Load(Server.MapPath("RptName.rpt"));
myreport.ReportSource = doc;
myreport.ReportSource = myreport;
}
答案 2 :(得分:0)
您正在引用已创建的对象objRpt
而不是ReportobjRpt
。
试试这个:
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection cnn;
string connectionString = null;
string sql = null;
connectionString = "data source=server; initial catalog=DBO;user id=sa; password= passw0rd";
cnn = new SqlConnection(connectionString);
cnn.Open();
sql = "select BadgeNo as DataColumn1,Name as DataColumn2, Section as DataColumn3 from Safety where ID = '24'";
SqlDataAdapter dscmd = new SqlDataAdapter(sql, cnn);
cnn.Close();
DataSet1 ds = new DataSet1();
dscmd.Fill(ds, "DataTable1");
ReportobjRpt = new Report1 ();
ReportobjRpt.SetDataSource(ds.Tables[0]);
CrystalReportViewer1.ReportSource = ReportobjRpt;
CrystalReportViewer1.RefreshReport();
}