我想建这样的一个表,现在有3个表:
sc表:id,课程编号,事件编号,添加时间,老师编号;
students表:id,姓名,班级编号
case表:事件,事件编号,扣分现在通过一条查询Table得到一个学生扣分情况表
sc表中没有的数据不用添加
百思不得其解啊!有什么方法能在姓名后面分开算分啊,例外合并也不会。
哪位给我看看哦~
才学习哦~

解决方案 »

  1.   

    想问,你那个sc表或者case表通过哪个和students表产生关系呢?
      

  2.   


    select b.姓名,a.课程编号,c.事件,c.扣分
    from sc a,students b,case c where a.id=b.id and a.事件编号=c.事件编号表间关系不明确 只能猜你的意思
      

  3.   

    的确students 被独立了   你可以在case表里添加一个studentsID的字段 这样3张表就联系在一起了
      

  4.   

    DataTable dts = ado.GetDataTable("select id 学号,name 姓名 from students");
                dts.Columns.Add(".NET");
                dts.Columns.Add(".NET1");
                dts.Columns.Add(".NET2");
                dts.Columns.Add(".NET3");
                dts.Columns.Add(".NET4");
                dts.Columns.Add(".NET5");            dts.Columns.Add("日语");
                dts.Columns.Add("日语1");
                dts.Columns.Add("日语2");
                dts.Columns.Add("日语3");
                dts.Columns.Add("日语4");
                dts.Columns.Add("日语5");            dts.Columns.Add("服务器");
                dts.Columns.Add("服务器1");
                dts.Columns.Add("服务器2");
                dts.Columns.Add("服务器3");
                dts.Columns.Add("服务器4");
                dts.Columns.Add("服务器5");            dts.Columns.Add("网页");
                dts.Columns.Add("网页1");
                dts.Columns.Add("网页2");
                dts.Columns.Add("网页3");
                dts.Columns.Add("网页4");
                dts.Columns.Add("网页5");            object ooo = ado.ExecuteScalar("select id from students");
                string stutemp = ooo.ToString();
                string stusemp2 =stutemp.Substring(0, 8);
                DataRow drow=new DataRow();
                for (int i = 1; i <= dts.Rows.Count; i++)
                {
                    string ii = i.ToString();
                    string stusum="";
                    if (ii.Length < 2)
                    { stusum = stusemp2 + "0" + ii; }
                    else
                    {stusum=stusemp2+ii;}
                   object dttemp= ado.ExecuteScalar("select score.scorse from score inner join sc on score.scoreid=sc.scoreid where sc.stuid='"+stusum+"'");
                   object dttemp4 = ado.ExecuteScalar("select count (*) from course");
                    object dttemp5 = ado.ExecuteScalar("select count (*) from score");
                    if (dttemp != null)
                    {
                        for (int g = 0; g < int.Parse(dttemp4.ToString()); g++)
                        {
                            for (int h = 1; h <= int.Parse(dttemp5.ToString()); h++)
                            {
                                object Fa= ado.ExecuteScalar("select score from score inner join sc on score.scoreid=sc.scoreid where sc.stuid='"+stusum+"' and courseid='"+g+4+"' and sc.scoreid="+h+"");
                                if (Fa != null)
                                {
                                    string ttt = Fa.ToString();
                                    drow[g * 6 + h] = ttt;
                                }
                            }
                        }
                    }
                    if(drow!=null)
                    dt.Rows.Add(drow);
                    drow=dt.NewRow();
                }
                dataGridView1.DataSource = dts;
      

  5.   

    不知道怎么回事编辑不了自己说的话啊,图片在这:DataRow drow=new DataRow();
    这句换成
    DataRow drow = null;
    之后报错啊
    drow[g *  + h] = ttt.ToString();[
    NullRfenrenceException
      

  6.   

    sc表:id,课程编号,事件编号,添加时间,老师编号;
    students表:id,姓名,班级编号
    case表:事件,事件编号,扣分select b.姓名,a.课程编号,c.事件,c.扣分 
    inner join students b on a.id=b.id
    from sc a where a.事件编号=case.事件编号