CrystalReportAct crt = new CrystalReportAct();
sqlcon.Open();
sql = "SELECT EmpLog.Date, JobCategory.JobDesc,
Client.CompDesc, Product.ProdName, EmpLog.Actions, EmpLog.Remarks
FROM Client
INNER JOIN EmpLog ON Client.CompCode = EmpLog.CompCode
INNER JOIN JobCategory ON EmpLog.JobCode = JobCategory.JobCode
INNER JOIN Product ON EmpLog.ProdCode = Product.ProdCode
WHERE (EmpLog.EmpID = '"+empID+"')";
SqlDataAdapter adp = new SqlDataAdapter(sql, sqlcon);
DataSet ds = new DataSet();
adp.Fill(ds, "Client");
adp.Fill(ds, "Emplog");
adp.Fill(ds, "JobCategory");
adp.Fill(ds, "Product");
crt.SetDataSource(ds);
crystalReportViewer1.ReportSource = crt;
这会运行但输出错误。输出将近 80 行,而不仅仅是 3 行。
最佳答案
在 crt.SetDataSource(ds) 语句中指定表名,否则它会占用总行数。
关于c# - 内部连接多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14434387/