string sqlQuery = "select * from Message order by mID DESC"; 
        message = SQLServerDAL.DbHelperSQL.Query(sqlQuery).Tables[0]; 
        sqlQuery = "select * from Reply order by rID DESC"; 
        reply = SQLServerDAL.DbHelperSQL.Query(sqlQuery).Tables[0]; 
//你没发现这里有什么问题吗?同一个表!!

解决方案 »

  1.   


    呃...数据库操作类,操作方法是写在"Using(){}"块中的,不应该吧
      

  2.   

    呃...不过DataSet中的DataTable名是一样的 全是"ds"
      

  3.   

    DataSet中的DataTable不能重名,否则添加或修改失败。
      

  4.   

    你把两个datatable的名称都改一下就可以了,不要用默认的
      

  5.   

    那如何更改DataSet中DataTable的名呢?然后分别赋给DataTable(message,reply)
      

  6.   

    DataSet ds = new DataSet();
            DataTable message = new DataTable();
            DataTable reply = new DataTable();
            string sqlQuery = "select * from Message order by mID DESC";
            message = SQLServerDAL.DbHelperSQL.Query(sqlQuery).Tables[0];
            sqlQuery = "select * from Reply order by rID DESC";
            reply = SQLServerDAL.DbHelperSQL.Query(sqlQuery).Tables[0];
            message.TableName = "message";
            message.TableName = "reply";
            ds.Tables.Add(message.Copy());
            ds.Tables.Add(reply.Copy());
            ds.Tables[0].TableName = "message";
            ds.Tables[1].TableName = "reply";
            ds.Relations.Add("myreply", ds.Tables["message"].Columns["mID"], ds.Tables["reply"].Columns["rMID"]);
      

  7.   

    那要看你的方法了!~~DataSet ds=new DataSet();
    SqlDataAdapter sda=new SqlDataAdapter(sql,conn);
    sda.Fill(ds,"message");
    //这时你找到的数据就放到了ds的message表里,可以就这样给表命名
      

  8.   

    SQLServerDAL.DbHelperSQL.Query里传递值,设置表名称。默认为ds
      

  9.   

    表名默认为tables
    所以重名了
    DataSet ds = new DataSet();
                DataTable dt = new DataTable();
                ds.Tables.Add(dt.copy(), "a");