有一张表是这样的内容形式
table1
{
张三
李四
王5}table2
{
学习
游泳
电脑}
string getSqlString = System.Configuration.ConfigurationManager.ConnectionStrings["EnglishWordsConnectionString"].ToString();
        SqlConnection con = new SqlConnection(getSqlString);
        con.Open();
        SqlCommand com = new SqlCommand("select word from Words", con);
        SqlDataAdapter da = new SqlDataAdapter(com);
        DataTable table = new DataTable();
        da.Fill(table);
        con.Close();
        SqlConnection con1 = new SqlConnection(getSqlString);
        SqlCommand com1 = new SqlCommand("select DomainSpace from DomainSpace", con1);
        SqlDataAdapter da1 = new SqlDataAdapter(com1);
        DataTable table1 = new DataTable();
        da1.Fill(table1);
        for (int i = 0; i < 476; i++)
        {
           
                Response.Write(table1.Rows[i][0].ToString() + '.' + " <br>" + table.Rows[i][0].ToString());
       
        }现在为什么输出的格式都是
table1的值+table2的第一行值?
小明 学习
李四 学习
王五 学习如何解决?

解决方案 »

  1.   

    你能确定table1和table2的行数是一样的么,如果不是,请不要用一个循环来做,会超出索引的
      

  2.   

    是不是想得到
    张三 学习 
    李四 游泳 
    王5  电脑 
     
    //两个结构不同的DT合并
        /// <summary>
        /// 将两个列不同的DataTable合并成一个新的DataTable
        /// </summary>
        /// <param name="dt1">表1</param>
        /// <param name="dt2">表2</param>
        /// <param name="DTName">合并后新的表名</param>
        /// <returns></returns>
        private DataTable UniteDataTable(DataTable dt1, DataTable dt2, string DTName)
        {
            DataTable dt3 = dt1.Clone();
            for (int i = 0; i < dt2.Columns.Count; i++)
            {
                dt3.Columns.Add(dt2.Columns[i].ColumnName);
            }
            object[] obj = new object[dt3.Columns.Count];        for (int i = 0; i < dt1.Rows.Count; i++)
            {
                dt1.Rows[i].ItemArray.CopyTo(obj, 0);
                dt3.Rows.Add(obj);
            }        if (dt1.Rows.Count >= dt2.Rows.Count)
            {
                for (int i = 0; i < dt2.Rows.Count; i++)
                {
                    for (int j = 0; j < dt2.Columns.Count; j++)
                    {
                        dt3.Rows[i][j + dt1.Columns.Count] = dt2.Rows[i][j].ToString();
                    }
                }
            }
            else
            {
                DataRow dr3;
                for (int i = 0; i < dt2.Rows.Count - dt1.Rows.Count; i++)
                {
                    dr3 = dt3.NewRow();
                    dt3.Rows.Add(dr3);
                }
                for (int i = 0; i < dt2.Rows.Count; i++)
                {
                    for (int j = 0; j < dt2.Columns.Count; j++)
                    {
                        dt3.Rows[i][j + dt1.Columns.Count] = dt2.Rows[i][j].ToString();
                    }
                }
            }
            dt3.TableName = DTName; //设置DT的名字
            return dt3;
        }
      

  3.   

    要么输入dataset 有多个datatable
    要么简单点,写sql拼写
      

  4.   

    select table1.fristname,(select const from table1 where id=1) as constStr from table2 
      

  5.   

    在SQL就能解决!!~~没必要放到页面上来把逻辑弄复杂。。
      

  6.   

    消息 4104,级别 16,状态 1,第 1 行
    无法绑定由多个部分组成的标识符 "Words.word"。
    消息 207,级别 16,状态 1,第 1 行
    列名 'const' 无效。
      

  7.   

    --两个表无关联合并
    http://topic.csdn.net/u/20090828/11/54c25728-4dc0-4923-a117-3a359c1c16e2.html
    看是不是可以直接在SQL中实现。
      

  8.   


    就是table1的字段比如firstname,const是第二表的字段得出来固定的字段不就行了?
    楼主只要替换一下就ok了