morteza.azad
چهارشنبه 20 بهمن 1389, 18:47 عصر
سلام. من یک کوئری ساده نوشتم و اونو میدم به کریستال ریپورت تا نمایش بده، کوئری اجرا میشه و اون چیزی که میخوام هستش، فقط مشکلی که من دارم اینه که توی گزارش از هر رکورد 10 بار داره نشون میده، دلیلشو نمیدونم، همین کوئری رو وقتی میریزم تو ی datagirdview کاملا درست نشون میده.نمیدونم چرا کریستال اینجوری میکنه.
لطفا کمکم کنید....
Connection c = new Connection();
OleDbConnection l = c.Create();
OleDbDataAdapter da = new OleDbDataAdapter(@"SELECT Soldiers.SoldiersId, Soldiers.Name, Soldiers.LastName, Soldiers.FatherName, Soldiers.MelliCode, Unit.UnitName
FROM Soldiers INNER JOIN Unit ON Soldiers.UnitId = Unit.UnitId
WHERE unit.unitId=" +UnitId+@"", l);
DataTable dt = new DataTable();
da.Fill(dt);
DataSet ds = new DataSet();
ds.Tables.Add(dt);
GUI.Gozareshat.CrystalReport2 cr = new CrystalReport2();
cr.SetDataSource(ds.Tables[0]);
crystalReportViewer1.ReportSource = cr;
دقت داشته باشید که من از لحاظ کوئری مشکلی ندارم
66144
اگر به تصویر دقت کنید می بینید که کوئری گرفته شده در جدول 4 تا رکورد داره، اما در کریستال 40 تا. اگرچه از لحاظ کوئری یکسانند.
لطفا کمکم کنید....
Connection c = new Connection();
OleDbConnection l = c.Create();
OleDbDataAdapter da = new OleDbDataAdapter(@"SELECT Soldiers.SoldiersId, Soldiers.Name, Soldiers.LastName, Soldiers.FatherName, Soldiers.MelliCode, Unit.UnitName
FROM Soldiers INNER JOIN Unit ON Soldiers.UnitId = Unit.UnitId
WHERE unit.unitId=" +UnitId+@"", l);
DataTable dt = new DataTable();
da.Fill(dt);
DataSet ds = new DataSet();
ds.Tables.Add(dt);
GUI.Gozareshat.CrystalReport2 cr = new CrystalReport2();
cr.SetDataSource(ds.Tables[0]);
crystalReportViewer1.ReportSource = cr;
دقت داشته باشید که من از لحاظ کوئری مشکلی ندارم
66144
اگر به تصویر دقت کنید می بینید که کوئری گرفته شده در جدول 4 تا رکورد داره، اما در کریستال 40 تا. اگرچه از لحاظ کوئری یکسانند.