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.请问怎么修改能使等号右边的值正常赋值给左边的变量。
展开
展开全部
语法没问题,你查查代码,跟一下断点,是不是其他某个地方把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());
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());
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询