原来DataSource可以直接指向SqlDataReader,哈哈,学习。
不过
datagrid1.DataSource=sqldatareader1;
datagrid1.DataBind();
放在循环中,多次绑定,恐怕不太合适,试试下面的
if(sqldatareader1.Read())
{
datagrid1.DataSource=sqldatareader1;
datagrid1.DataBind();
}
不过
datagrid1.DataSource=sqldatareader1;
datagrid1.DataBind();
放在循环中,多次绑定,恐怕不太合适,试试下面的
if(sqldatareader1.Read())
{
datagrid1.DataSource=sqldatareader1;
datagrid1.DataBind();
}
不过
datagrid1.DataSource=sqldatareader1;
datagrid1.DataBind();
放在循环中,多次绑定,恐怕不太合适,试试下面的
if(sqldatareader1.Read())
{
datagrid1.DataSource=sqldatareader1;
datagrid1.DataBind();
}
而至于while少读一条,但用do…while才能读全,也是同样的原因
datagrid1.DataSource=sqldatareader1;
datagrid1.DataBind();
while (sqldatareader1.Read())
{
lable1.Text=sqldatareader1.GetString(1);
};
看看是什么结果,我没试过.
ArrayList list = new ArrayList();
while (sqldatareader1.Read())
{
list.Add(sqldatareader1.GetString(1));
datagrid1.DataSource=list;
datagrid1.DataBind();
};
ArrayList list = new ArrayList();
while (sqldatareader1.Read())
{
list.Add(sqldatareader1.GetString(1));
};
datagrid1.DataSource=list;
datagrid1.DataBind();
datagrid1.DataSource=sqldatareader1;
datagrid1.DataBind();
反而会少第一条记录呢?
datareader对象是只读和只前的,每从前移一条记录,就会把前一条记录的数据丢弃.
datagrid1.DataBind();
}while (sqldatareader1.Read());
可是这样确实取出了数据,而且是全部正确的数据啊?
--------
while (sqldatareader1.Read())
{datagrid1.DataSource=sqldatareader1;
datagrid1.DataBind();}
少第一条,但几乎所有的书上和帮助中,却都是这么写的.
--------
为什么会这样!
=====================
handsomebird123(handsomebird123):
ArrayList list = new ArrayList();是做什么用的?
我要取的数据已经在sqldatareader1中了!
=====================
chyich() :
while (sqldatareader1.Read())
{ lable1.Text=sqldatareader1.GetString(1);
datagrid1.DataSource=sqldatareader1;
datagrid1.DataBind();};
为什么会少一条记录呢?虽然lable1.Text=sqldatareader1.GetString(1);被多次执行,但应该也可以啊.
Do{ datagrid1.DataSource=sqldatareader1;
datagrid1.DataBind();
}while (sqldatareader1.Read());
还是:
while (sqldatareader1.Read())
{datagrid1.DataSource=sqldatareader1;
datagrid1.DataBind();}
这样的绑定方法都不对,因为这样的话每读一条数据就绑定一次,其实上只要绑定一次就可以了,象这样:datagrid1.DataSource=sqldatareader1;
datagrid1.DataBind();
是再生成一个datareaer吗?
还是可以直接利用绑定datagrid1的那个,好象不能直接用,是吗?
datagrid1.DataBind();之后,游标到了最后,不能再绑定Label.Text了。是吗?