ارتباط بين 2 فيلد در ديتاگريد

nasser110

Member
سلام
دوستان اگه لطف كنند اين مشكل من رو يه راه حل واسش بگين خيلي كمك بزرگي كردين :

من يه ديتا گربد دارم كه اطلاعات يك جدول (جدول شماره 1) رو مي خونه حالا اون جدول (شماره 1) يه فيلد داره كه ID يك جدول ديگر (شماره 2) رو در خودش نگه مي داره (واسه نرمال سازي table اين كار رو كردم) حالا مي خوام به جاي اينكه توي ديتاگريد اون فيلد ID نشون داده بشه بره و در اون جدول(شماره2) و فيلد نامي كه برابر اون ID است رو در ديتاگريد نشون بده . مثل اينكه ما اطلاعات يك جدول رو نشون ميديم ولي در حقيقت يك فيلد از يك جدول ديگه است

ممنون
 

fereshte22

Member
فکر میکنم از join باید استفاده کنید و با query زیر دیتاگرید را پر کنید(id نام فیلد id در دو جدول است)
کد:
"Select * From table1 Join table2 ON table2.id = table1.id "

[code/]
در دیتاگرید نیز یک ستون برای این فیلد نام اضافه کنید.
 

nasser110

Member
سلام
ممنون از پاسختون - من از Visula studio 2003 و با C# كار مي كنم

در مورد پاسخ دومتون قبلا حدس زده بودم بايد از join باشد و كدشما رو هم استفاده كردم ولي متاسفانه error داد بهم فكر مي كنم اين كد Sql اشتباه باشه :

string strSql="select * from tbl_Lesson Join tbl_Professor ON tbl_Professor.ID = tbl_Lesson.PROF_ID";
mycon.Open();
OleDbDataAdapter dadapter = new OleDbDataAdapter(strSql,mycon);
DataSet dset=new DataSet();
dadapter.Fill(dset,"tbl_Lesson");

اگه باز دوستان لطف كنند اين كد من رو ببينند و نظر بدهند اينكه آيا اصلا از join اينجا كاربرد داره يا نه ممنون ميشم
راستي استفاده از Relation بين جداول با استفاده از خود C# و نه ديتابيس كاربرد داره ؟ در اين مورد

مرسي
 

mehranzand

Member
شما می خوای یک id رو پاس کنی اون طرف فقط یک رکورد نمایش بدی که مربوطه اون id هستش؟
 

amirhkh

Member
لطفا مطلب رو مشکل نکنید

یک Inner Join ساده هست که در حال حاضر کد دوستمون چند تا مشکل داره
 

fereshte22

Member
سلام
من خودم به این صورت عمل کردم و مشکلی هم نداشت.
کد:
Dim strsql As String
                con.Open()
                strsql = "Select * From kala Join sabadkharid ON sabadkharid.idkala = kala.number "
                cmd = New SqlCommand(strsql, con)
                dr = cmd.ExecuteReader
                GridView1.DataSource = dr
                GridView1.DataBind()
                dr.Close()
                con.Close()
 

جدیدترین ارسال ها

بالا