C# WinForm中水晶报表配置好了,用crystalReportViewer显示怎么只有字段名,没有看到数据

来源:百度知道 编辑:UC知道 时间:2024/05/26 19:14:42
SQL语句没有问题,表里也有数据 ,运行没提示错误,那位大哥帮我看下,不知道哪里出了问题
我写了个数据库的连接类(补充的字有限,还有个关闭和打开的连接没列出)
class Db
{
private SqlConnection con;
private static string sconn = @"连接SQL的字符串";
public DataSet GetDataset(string sql) //返回数据集
{
this.Open();
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds);
this.Close();
return ds;
}
}
在窗体的加载事件如下:
private void Form1_Load(object sender, EventArgs e)//窗体加载
{
CrystalReport1 rpMember = new CrystalReport1();
DataSet dszy = new Db().GetDataset("SQL语句");
rpMember.SetDataSource(dszy);
crystalReportViewer1.ReportSource = rpMember;
}

你没填充数据怎么会有数据,你在数据集里拖出来的
表只是一个表结构
DataSet1 ds = new DataSet1();

using (SqlConnection conn = new SqlConnection(conString))
{
using (SqlDataAdapter adpt = new SqlDataAdapter("select * from MedicionType", conn))
{
adpt.Fill(ds, "表名,必须和你的数据集里拖出来的一样");
}
}

CrystalReport1 cys = new CrystalReport1();
cys.SetDataSource(ds);
this.crystalReportViewer1.ReportSource = cys;

你选的报表数据源是什么,是直接的数据库表的话,可能是数据没有放到详细信息里面,
如果选的是项目数据源,那就一定要先FILL数据进去

检查你的SQL语句,如果没问题,就打开数据库,看看里面表里是否有数据存在。