私はcrystal reportを使ってデータベースから値をプリントしようとしています。私はテーブルに2レコードしか持っていませんが、データベースから4レコードを取り出します
私のコードはこちらです。
private void frmPrintBill_Load(object sender, EventArgs e)
{
try
{
SqlCon = objDB.DBConnection();
Query = "Select p.billno, p.productid, p.productname, p.customerrate, p.quantity, p.amount, p.alert, s.noofitems, s.totamount from tblBill as p inner join tblBillsub as s on p.billno = s. billno where p.billno= '101' ";
StrPath = AppDomain.CurrentDomain.BaseDirectory + "\\Reports\\CrystalReport1.rpt";
ReportDocument ObjRepDoc = new ReportDocument();
SqlDa = new SqlDataAdapter(Query, SqlCon);
DataTable dt = new DataTable();
dt.Clear();
SqlDa.Fill(dt);
CrystalReport1 rep1 = new CrystalReport1();
ObjRepDoc.Load(StrPath);
ObjRepDoc.SetDataSource(dt);
crystalReportViewer1.ReportSource = ObjRepDoc;
crystalReportViewer1.Refresh();
}
catch (Exception ex)
{ MessageBox.Show(ex.ToString()); }
}
私のデータベーステーブルには、特定のbillnoにのみ利用可能な2つのレコードがあります。しかし、それは4レコードをフェッチします。なぜ?? は親切にあなたが使用することもできクリスタルレポートで
請求101にはtblBillsubに2つの同じレコードがあり、内部結合 – maSTAShuFu
okを使用しています。何をするか正確な結果を得る – Veera
多分あなたは 'left join'を試すことができます –