PDA

View Full Version : گزارشگیری از چند جدول



nasimnastaran
یک شنبه 07 اسفند 1384, 13:46 عصر
با سلام !
من سه جدول به صورت ذیل دارم :
table1(maintable):id_car[primarykey],id_service,name_car
table 2:id_service[primary key] , kind_service
and table3 :myid[primarykey],id_car,company
<b>Relations :table1 - table2(many to one) ,table1-table3(one to many)</b>
من میخواستم با استفاده از دستور Sql ، از سه جدول گزارش بگیرم . برای این کار یک آیتم DataSet به برنامه اضافه کردم . با توجه به رابطه بین جدول چگونه می توان Dataset را با جداول مربوطه پر کرد . من برای گزارش گیری با یک جدول کد ذیل را نوشتم :

myDataset ds=new myDataset();
strConnection.Open();
string strSQL = "SELECT * FROM table1";
dataadapter1 = new SqlDataAdapter(strSQL,strConnection);
SqlCommandBuilder scb = new SqlCommandBuilder(dataadapter1);
dataadapter1.Fill(ds.table1);
CrystalReport1.SetDataSource(ds.table1);
crystalReportViewer1.ReportSource=CrystalReport1;</code>
اما برای سه جدول با توجه رابطه بین آنها ،‌چه طوری میشه dataset پر کرد .
از راهنمائی تان متشکریم

reza_rad
یک شنبه 07 اسفند 1384, 13:55 عصر
باید با فیلدهای مشترک جدوارل رو به هم join کنی. البته اگه منظورت رو درست متوجه شده باشم!
مثلا برای دو تا جدول یه همچین چیزی میشه:


select * from table3,table1 where table3.id_car = table1. id_car


چون ارتباط جدول table2 رو با اینا متوجه نشدم اینجا نیاوردمش ولی خودت می تونی اینو برای اون هم تعمیم بدی.