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

شروع موضوع توسط elham821 ‏11 مارس 2008 در انجمن برنامه‌نویسی C و هم خانواده‌هایش

  1. elham821

    elham821 Member

    ارسال‌ها:
    31
    تشکر شده:
    1
    امتیاز دستاورد:
    6
    سلام
    من تو قسمت چاپ اطلاعات از دیتابیس تو #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
    کسی میدونه باید چی کار کنم؟
     
    نوشته شده توسط elham821 در ‏11 مارس 2008

به اشتراک بگذارید