请问,这个批量查询的刷新行数为什么没对?
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行?
------解决方案-------------------- 你输出的是DataSet中DataTable的个数,而不是所有表包含的行数
你可以如下输出总行数
C# code
int rows_count=ds.Tables.Cast<DataTable>().Sum(a=>a.Rows.Count);//得到总行数
------解决方案-------------------- 你需要把每个表的数量相加才是总数哦
------解决方案-------------------- 我很想知道你这样做的用意是什么????
------解决方案-------------------- 有点多此一举的意思
------解决方案-------------------- 两条查询一起输出,DataSet 只能获取到第一条查询的数据吧
------解决方案-------------------- 探讨 你输出的是DataSet中DataTable的个数,而不是所有表包含的行数 你可以如下输出总行数 C# code int rows_count=ds.Tables.Cast<DataTable>().Sum(a=>a.Rows.Count);//得到总行数
------解决方案--------------------
探讨 难道后面一句输出影响了你们?我就知道,好吧,这样: static void Main() { string strConn = "server = '(local)';database=Person;integrated security = true"; string strSQL = "SELECT * FROM 客户表;" + "SELECT * FROM 订单表"; ……
------解决方案-------------------- LZ这个思路都是错的.....2个不同的表...不管它的列名相不相同,你怎么可能 在A表的后面加上B 表嘛...... 只有先select A B 2个表的后,在把B中的所有行加到A上去..... 这个就得自己写代码咯
------解决方案--------------------
那你写一万个update tableName set columnName=1 where id=1 然后去执行数据库 然后你用result接受executeQuery() 你看下你接受的result是1 还是1万!!!!! 这样的结果你都能想出!