新人求助:关于返回类型

he251251251 2010-11-02 03:44:31
RT,我在实体层里写了一个User类,映射了数据库中userName userID userPwsd userEmail等等
然后在BLL中我想根据userID来查询到这个用户的名字,Email等等,我在DAL中写的代码是

Public User GetUserByuserID(string userID)
{
string str="select * from tbUser where userID="'+userID+'"";
DataSet ds=SQLHeples.GetDataSet(str);
if(ds.Tables[0].Rows.count>0)
{
return user;
}
}
其中GetDataSet是我写好的数据填充的一个方法,这样写明显不对,请高手指点下应该怎样写这个返回对象,一个实体类!
...全文
85 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
he251251251 2010-11-02
  • 打赏
  • 举报
回复
了解了,谢谢。。。先结贴
winner381 2010-11-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 he251251251 的回复:]

if(ds.Tables[0].Rows.count>0)
{
User user=new User();
return user;
}
这样??
[/Quote]
首先比如你的user表中有2个字段userNameuserID
就可以这样
if(ds.Tables[0].Rows.count>0)
{
User user=new User();
user.Name = (String)ds.Tables[0]["userName "];
user.Id = (Int32)ds.Tables[0]["userID"];
return user;
}
lchy110 2010-11-02
  • 打赏
  • 举报
回复
你这个是不是取出来的是唯一的 也就是说只有一条符合条件的吧
是的那

Public User GetUserByuserID(string userID)
{
User use = new User();
string str="select * from tbUser where userID="'+userID+'"";
DataSet ds=SQLHeples.GetDataSet(str);
if(ds.Tables[0].Rows.count>0)
{
//将数据取出赋值给实体类属性
use.id=....;
use.name=...;
}
return use;
}


其实不嫌麻烦 用我上面那中 用IList<User> 这样即使是返回的多行数据都可以
打一壶酱油 2010-11-02
  • 打赏
  • 举报
回复
遇到传说中的大菜鸟?跟4年前的某人有9分相似
he251251251 2010-11-02
  • 打赏
  • 举报
回复
if(ds.Tables[0].Rows.count>0)
{
User user=new User();
return user;
}
这样??
lchy110 2010-11-02
  • 打赏
  • 举报
回复

public IList<UserFeeBean> getUserFees(int start, int limit, int recordcount, string where) {
IList<UserFeeBean> ilist = new List<UserFeeBean>();

int endindex = start + limit + 1;
if (endindex > recordcount)
endindex = recordcount + 1;

string SQL_SELECT_USERFEE = string.Format(SQL_SELECT_USERFEES, where, start, endindex);

using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.SQLConnString, CommandType.Text, SQL_SELECT_USERFEE, null)) {
while (rdr.Read()) {
UserFeeBean uf = new UserFeeBean();
uf.Ptcode = rdr.GetString(1);
uf.Userid = rdr.GetString(2);
uf.Sendnum = rdr.GetInt32(3);
uf.Sendednum = rdr.GetInt32(4);
uf.PostPayUsed = rdr.GetInt32(5);
uf.Platname = rdr.GetString(6);
uf.Username = rdr.GetString(7);
uf.Custid = rdr.GetString(8);
uf.Custname = rdr.GetString(9);
uf.UpdateTime = rdr.GetDateTime(10).ToString();

ilist.Add(uf);
}
}
return ilist;
}
cpp2017 2010-11-02
  • 打赏
  • 举报
回复
你这个user是哪来的?

应该new一个user对象,然后根据表中的值,给user的属性赋值.
边城的刀声 2010-11-02
  • 打赏
  • 举报
回复
这种情况最好是用DataReader来代替DataTable

public SqlDataReader GetReader(String sql)
{
SqlConnection conn = new SqlConnection("连接字符串");
SqlCommand cmd = new SqlCommand(sql);
cmd.Connection = conn;
return cmd.ExecuteReader(CommandBehaivor.CloseConnection());
}

Public User GetUserByuserID(string userID)
{
string str="select * from tbUser where userID="'+userID+'"";
using(SqlDataReader reader=SQLHeples.GetReader(str))
{
User result = null;
if(reader.Read())
{
user.Name = (String)reader["userName "];
user.Id = (Int32)reader["userID"];
}
return user;
}
}
he251251251 2010-11-02
  • 打赏
  • 举报
回复
在线等回答,请高手指点下

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧