当前位置:编程学习 > C#/ASP.NET >>

Asp.net 怎么实现将表中所有数据读出

想把数据库Commet所有的数据读出,现在通过写IList方法来实现,怎么写一个循环把所有数据实体类对象添加到IList对象中

Commet的实体类为megs AccessHelper中提供ExecuteSQLDataReader方法(Cmd, parameter).

我是这样写的
public IList<Megs> GetAll()
{
IList<Megs> lis = new List<Megs>();
string aa="select * from [commet]";
try
{
OleDbDataReader sdr = AccessHelper.AccessHelper.ExecuteSQLDataReader(aa, null);
int i=0;
while(sdr.Read())
{
Megs a = new Megs();
a.ID = (int)sdr["id"];
a.Name = (string)sdr["name"];
a.Sex = (string)sdr["sex"];
a.Content = (string)sdr["content"];
a.Email = (string)sdr["email"];
a.Tel = (int)sdr["tel"];
lis.Add(a);
i++;
}
return lis;


}
catch { return null; }

}

但是程序执行直接返回return null。
答案:
有必要写int i=0;然后在循环中i++麽,这样写是错误的。while循环本来就有这个功能,如果()里面的成立那麽就会永远的运行下去的。所以你这个根本就是语法错误。去掉~~

直接这样写:
public IList<Megs> GetAll()
{
IList<Megs> lis = new List<Megs>();
string aa="select * from [commet]";
try
{
OleDbDataReader sdr = AccessHelper.AccessHelper.ExecuteSQLDataReader(aa, null);
while(sdr.Read())//这里是循环读取数据表中的行,有多少行就读多少。
{
Megs a = new Megs();
a.ID = (int)sdr["id"];
a.Name = (string)sdr["name"];
a.Sex = (string)sdr["sex"];
a.Content = (string)sdr["content"];
a.Email = (string)sdr["email"];
a.Tel = (int)sdr["tel"];
lis.Add(a);
}
return lis;
}
catch { return null; }
}

上一个:asp.net中textbox值改变。label便调用一个js
下一个:asp.net3.5与asp.net2.0相比,增加了哪些功能?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,