读书人

请教这个批量查询的刷新行数为什么没

发布时间: 2012-09-10 22:20:12 作者: rapoo

请问,这个批量查询的刷新行数为什么没对?
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万!!!!!

这样的结果你都能想出!

读书人网 >C#

热点推荐