我想把两个表合并到一个数据集中,失败了,求高手帮忙,下面是源代码using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;namespace 练习1
{
class Program
{
static void Main(string[] args)
{
SqlConnection cn = new SqlConnection();
cn.ConnectionString = "Data Source=PC-201102261441;Initial Catalog=数据库1;User id=sa;password=343234010";
SqlCommand cmd = cn.CreateCommand();
//第一个数据集
cmd.CommandText = "select * from 班级表";
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds1 = new DataSet();
cn.Open();
da.Fill(ds1, "班级表");
//第二个数据集
DataSet ds2 = new DataSet();
cmd.CommandText = "select * from 学生表";
da.Fill(ds2, "学生表");
cn.Close();
//数据集合并
ds2.Merge(ds1, true, MissingSchemaAction.Add); foreach (DataTable dt in ds2.Tables)
{
Console.WriteLine("\n" + dt);
foreach (DataRow dr in dt.Rows)
{
foreach (DataColumn dc in dt.Columns)
{
Console.WriteLine(dc + "=" + dr[dc]);
}
}
Console.ReadLine();
}
}
}
}
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;namespace 练习1
{
class Program
{
static void Main(string[] args)
{
SqlConnection cn = new SqlConnection();
cn.ConnectionString = "Data Source=PC-201102261441;Initial Catalog=数据库1;User id=sa;password=343234010";
SqlCommand cmd = cn.CreateCommand();
//第一个数据集
cmd.CommandText = "select * from 班级表";
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds1 = new DataSet();
cn.Open();
da.Fill(ds1, "班级表");
//第二个数据集
DataSet ds2 = new DataSet();
cmd.CommandText = "select * from 学生表";
da.Fill(ds2, "学生表");
cn.Close();
//数据集合并
ds2.Merge(ds1, true, MissingSchemaAction.Add); foreach (DataTable dt in ds2.Tables)
{
Console.WriteLine("\n" + dt);
foreach (DataRow dr in dt.Rows)
{
foreach (DataColumn dc in dt.Columns)
{
Console.WriteLine(dc + "=" + dr[dc]);
}
}
Console.ReadLine();
}
}
}
}
2 如果可以改变,直接用SQL联合查询 来合并算了.