c#.net中dataset.table["数据表名称"].rows.count无法赋值给int型变量

intr=dataset1.Tables["exam"].Rows.Count;intr2=dataset2.Tables["exam"].Rows.Count;data... int r = dataset1.Tables["exam"].Rows.Count;int r2 = dataset2.Tables["exam"].Rows.Count;dataset1和dataset2已经填充完毕,而且可以正常使用。问题出在等号两边的值上,第一行 dataset1.Tables["exam"].Rows.Count 的值是 16,但是 r的值是 8;第二行 dataset2.Tables["exam"].Rows.Count 的值是 1,但是 r2的值是 -1。而且无论等号右边的值怎么改变,r的值就是 dataset1.Tables["exam"].Rows.Count 的一半,r2 的值都是 -1.请问怎么修改能使等号右边的值正常赋值给左边的变量。 展开
 我来答
百度网友63d11af
推荐于2016-05-27 · 超过12用户采纳过TA的回答
知道答主
回答量:22
采纳率:0%
帮助的人:22.6万
展开全部
语法没问题,你查查代码,跟一下断点,是不是其他某个地方把r和r2的值改变了。我写了一个例子,输出结果是:
r: 16
r2: 1

代码如下:
//给dataset1加16条数据
DataSet dataset1 = new DataSet();
DataTable exam1 = new DataTable("exam");
exam1.Columns.Add("Id");
for (int i = 0; i < 16; i++)
{
DataRow drItem = exam1.NewRow();
drItem["Id"] = i;
exam1.Rows.Add(drItem);
}
dataset1.Tables.Add(exam1);

//给dataset2加1条数据
DataTable exam2 = new DataTable("exam");
exam2.Columns.Add("Id");
for (int i = 0; i < 1; i++)
{
DataRow drItem = exam2.NewRow();
drItem["Id"] = i;
exam2.Rows.Add(drItem);
}
DataSet dataset2 = new DataSet();
dataset2.Tables.Add(exam2);

//赋值
int r = dataset1.Tables["exam"].Rows.Count;
int r2 = dataset2.Tables["exam"].Rows.Count;

//输出
Console.WriteLine("r:"+r.ToString());
Console.WriteLine("r2:" + r2.ToString());
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式