如何使用SQL Server CE检索记录并使用Crystal Report显示?

时间:2015-05-26 14:57:36

标签: c# crystal-reports sql-server-ce

我的报告是空的。我已将数据库名称Process_Table插入到我的Crystal报表中,并添加了字段"质量代码和质量名称"

但是当我打开报告时,其中没有数据。

出了什么问题?

public void showReport()
{
        try
        {

            CrystalReport2 objRpt = new CrystalReport2();
            string query = "SELECT * from [Process Table]";  //Your sql query
            SqlCeConnection conn =
                new SqlCeConnection(
                   @"Data Source=|DataDirectory|\ProcessDatabase.sdf;Persist Security Info=False"); //Your connection


            SqlCeDataAdapter adapter = new SqlCeDataAdapter(query, conn);
            ProcessDatabaseDataSet Ds = new ProcessDatabaseDataSet(); 

            adapter.Fill(Ds, "[Process Table]"); // I have space between Process Table
            objRpt.SetDataSource(Ds);
            crystalReportViewer1.ReportSource = objRpt;
        }
        catch (SqlException err)
        {
            MessageBox.Show(err.ToString());
        }
    }

enter image description here

1 个答案:

答案 0 :(得分:0)

删除旧的datagridview,数据集以及所有表适配器。 选择表格右键单击“新查询” 键入您的新表没有空格,如下所述,并更改您的旧表名称

输入EXEC SP_Rename'Old Table','NewTable'。 完成后,重新生成数据集。 重新生成您的datagridview,Crystal报表现在可以正常工作。

如果您的桌子之间有空格,您的水晶报告可能无效。