اشکال در چاپ اطلاعات از دیتابیس

elham821

Member
سلام
من تو قسمت چاپ اطلاعات از دیتابیس تو #C مشکل دارم به این صورت که سه تا جدول s و c و sc دارم.
جدول s (دانشجو) شامل این فیلدهاست--> sid, name, family
جدول c (درس) شامل این فیلدهاست--> cid, cname,units
جدول sc (دانشجو-درس) شامل این فیلدهاست--> sid,cid
که sid از جدول s با sid از جدول sc رابطه داره و cid از جدول c با cid از جدول sc رابطه داره.
با این دستورات رابطه با دیتابیس رو ایجاد کردم:
SqlConnection cn = new SqlConnection();
cn.ConnectionString = "server=.;initial catalog=university;integrated security=true";

DataSet ds = new DataSet();

SqlCommand cmd = cn.CreateCommand();
cmd.CommandText = "select * from s";
SqlDataAdapter da_s = new SqlDataAdapter(cmd);
da_s.Fill(ds, "dts");

cmd.CommandText = "select * from c";
SqlDataAdapter da_c = new SqlDataAdapter(cmd);
da_c.Fill(ds, "dtc");

cmd.CommandText = "select * from sc";
SqlDataAdapter da_sc = new SqlDataAdapter(cmd);
da_sc.Fill(ds, "dtsc");

DataRelation dr1 = new DataRelation("rels_scs", ds.Tables["dts"].Columns["sid"], ds.Tables["dtsc"].Columns["sid"]);
DataRelation dr2 = new DataRelation("rels_scc", ds.Tables["dtc"].Columns["cid"], ds.Tables["dtsc"].Columns["cid"]);

و با دستور زیر می خوام از جدول cid ،sc هایی رو که مربوط به نام نوشته شده در textbox هستن رو تو یه listbox نمایش بده:
foreach (DataRow dr in ds.Tables["dts"].Rows)
if (dr["family"].ToString().Trim() == textBox1.Text)
for (int i = 1; i < 3; i++)
listBox1.Items.Add(dr.GetChildRows("rels_scs")["cid"]);
اما error با محتوای زیر رو می گیره
Index was outside the bounds of the array
کسی میدونه باید چی کار کنم؟
 

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

بالا