static void Main()
{
string strConn = "server = '(local)';database=Person;integrated security = true";
string strSQL = "SELECT * FROM 客户表;" + "SELECT * FROM 订单表"; //两条查询语句
SqlDataAdapter da = new SqlDataAdapter(strSQL, strConn);
da.TableMappings.Add("订单表", "新订单表");
da.TableMappings.Add("客户表", "新客户表");
DataSet ds = new DataSet();
Console.WriteLine(da.Fill(ds));
Console.WriteLine(ds.Tables.Count);
Console.ReadKey();
}
有两张表,客户表6行,订单表7行,一起填充到DataSet 中,为什么最后输出的添加行数不是13行,而是6行?
{
string strConn = "server = '(local)';database=Person;integrated security = true";
string strSQL = "SELECT * FROM 客户表;" + "SELECT * FROM 订单表"; //两条查询语句
SqlDataAdapter da = new SqlDataAdapter(strSQL, strConn);
da.TableMappings.Add("订单表", "新订单表");
da.TableMappings.Add("客户表", "新客户表");
DataSet ds = new DataSet();
Console.WriteLine(da.Fill(ds));
Console.WriteLine(ds.Tables.Count);
Console.ReadKey();
}
有两张表,客户表6行,订单表7行,一起填充到DataSet 中,为什么最后输出的添加行数不是13行,而是6行?
static void Main()
{
string strConn = "server = '(local)';database=Person;integrated security = true";
string strSQL = "SELECT * FROM 客户表;" + "SELECT * FROM 订单表"; //两条查询语句
SqlDataAdapter da = new SqlDataAdapter(strSQL, strConn);
da.TableMappings.Add("订单表", "新订单表");
da.TableMappings.Add("客户表", "新客户表");
DataSet ds = new DataSet();
Console.WriteLine(da.Fill(ds));
Console.ReadKey();
}
有两张表,客户表6行,订单表7行,一起填充到DataSet 中,为什么最后输出的添加行数不是13行,而是6行?
我试验了一下,呵呵,如果你把你两个SQL换个位置,返回的结果应该是7
也就是说,他是按表返回的FILL结果,而且从右向左执行的
机制应该是先FILL 你的 订单表返回7,然后FILL客户表返回6, 6把前一次的结果覆盖了
所以显示的6。
呵呵,猜想的。
只有先select A B 2个表的后,在把B中的所有行加到A上去.....
这个就得自己写代码咯