我的vs 2010项目水晶报表可以在Windows XP中很好地工作,但是当我在Windows 7或10中设置它时,它不能在任何32位或64位窗口中工作。我在水晶报表中使用了数据表。我与许多大型程序员讨论过,他们建议我在项目中添加一些dll或使用数据集。但它也不起作用。同样的问题。
使用数据集或dataTable加载Crystal报告。在本节中,tyu.SetDataSource(ds);
不会加载数据。或.rpt错误17
我在数据库和c#Windows应用程序中使用SQL Server。
我尝试过的事情:
private void PrintRep()
{
//DataSet ds = new DataSet();
//string connStr = ConfigurationManager.ConnectionStrings["conn_str"].ConnectionString;
SqlDataAdapter dadapter = new SqlDataAdapter("SELECT * FROM dbo.T_ATTR Order by dbo.T_ATTR.IndRegID ", "Data Source=DESKTOP-IRFOPKM\\SHUVO;Initial Catalog=ServiceOneEasyClock;User ID=sa;Password=S123456_");
DataSet dset = new DataSet();
dadapter.Fill(dset, "dbo.T_ATTR");
int op = 0;
op= 1;
frmReportsViewer rptviewer = new frmReportsViewer(op, dset);
rptviewer.Show();
}
private void frmReportsViewer_Load(object sender, EventArgs e)
{
if (option == 1)
{
try
{ //ParameterFields pfs = new ParameterFields();
//pfs = GetCompanyInformation();
//crystalReportViewer1.ParameterFieldInfo = pfs;
string username = "sa"; // database user name
string password = "S123456_"; //database password
ds.AcceptChanges();
tyu.Refresh();
////tyu.Refresh();
//tyu.Refresh();
try
{
tyu.SetDataSource(ds);
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
crystalReportViewer.ReportSource = tyu;
crystalReportViewer.RefreshReport();
crystalReportViewer.Show();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
if (option == 2)
{
try
{ //ParameterFields pfs = new ParameterFields();
//pfs = GetCompanyInformation();
//crystalReportViewer1.ParameterFieldInfo = pfs;
oRpt2.SetDataSource(dtr);
crystalReportViewer.ReportSource = oRpt2;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
}
答案 0 :(得分:0)
如果出现此错误:
Failed to open the connection. Details: [Database Vendor Code: 17 ]
Failed to open the connection. C:\WINDOWS\TEMP\{ADB8090C-40ED-499D-88E3-915E23B0C5C3}.rpt
Details: [Database Vendor Code: 17 ]
执行以下步骤:
在CR XI设计器中打开报告。
选择数据库->设置数据源位置。
“设置数据源位置”窗口将出现,并在“替换为”部分连接到数据库,并通过单击“更新”按钮将这些表替换为当前数据源中的表。
更新后,关闭“设置数据源位置”窗口。
转到“数据库菜单”,然后单击“验证数据库”,然后单击“确定”。
预览报告并保存报告。 ;)
答案 1 :(得分:0)
您是否已在Windows 7计算机上安装了VS 2010的Crystal Reports Runtime?
Deploying Crystal Reports for Visual Studio 2010 Runtime
将项目从开发机移至生产机时,我必须这样做。