三层架构 问题求指点!!在线等 !!谢谢!!

简单DE生活 2010-08-25 09:22:19
MODELS层:ROOM.CS:
public class Room
{
public Room() { }

private int roomId;
public int RoomId
{
get { return roomId; }
set { roomId = value; }
}

----------------------------------------------------------------------
DAL层:RoomService.CS:
public int AddRoom(Room room)
{
string sql = "insert into Room(RoomId)" + " values(@RoomId)";
sql += " ;
SqlParameter[] para = new SqlParameter[]
{
new SqlParameter("@RoomId",room.RoomId)
};
return DBHelper.GetScalar(sql, para);
}
--------------------------------------------------------------------------------
错误:
错误 1 “HotelModels.Room”不可访问,因为它受保护级别限制
错误 2 可访问性不一致: 参数类型“HotelModels.Room”比方法“HotelDAL.RoomService.AddRoom(HotelModels.Room)”的可访问性低


我上网去查 说是要加public
我读写器前都有public就是不知道还哪里加public

还有错误2 没查到 !!
求指点!
...全文
67 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
stickking 2010-08-25
  • 打赏
  • 举报
回复
重新生成一下解决方案,应该可以解决的,因为就是public的问题。
wuyq11 2010-08-25
  • 打赏
  • 举报
回复
添加项目project引用
简单DE生活 2010-08-25
  • 打赏
  • 举报
回复
哦 ,我看看能不能换种方法 吧!我还是不太明白 谢谢了 麻烦你了!!
wuyq11 2010-08-25
  • 打赏
  • 举报
回复
DAL应该继承IDAL接口
handyzhu 2010-08-25
  • 打赏
  • 举报
回复
是不是你类加了public 之后没有重新生成 引用?
Peter200694013 2010-08-25
  • 打赏
  • 举报
回复
room.RoomType.TypeId

RoomType也是public么? TypeId 呢?
建议检查下所有涉及到的类
简单DE生活 2010-08-25
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.Text;
using HotelModels;


namespace HotelDAL
{
public class RoomService
{
public static int AddRoom(Room room)
{
string sql = "insert into Room(Number,BedNumber,Description,State,GuestNumber,TypeId)" +
" values(@Number,@BedNumber,@Description,@State,@GuestNumber,@TypeId)";
sql += " ; select @@identity";
SqlParameter[] para = new SqlParameter[]
{
new SqlParameter("@Number",room.Number),
new SqlParameter("@BedNumber",room.BedNumber),
new SqlParameter("@Description",room.Description),
new SqlParameter("@State",room.State),
new SqlParameter("@GuestNumber",room.GuestNumber),
new SqlParameter("@TypeId",room.RoomType.TypeId)
};
return DBHelper.GetScalar(sql, para);
}

public string a()
{


}

}
}
简单DE生活 2010-08-25
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.Text;

namespace HotelModels
{
public class Room
{
public Room() { }

private int roomId;
private string number = String.Empty;
private int bedNumber;
private string description = String.Empty;
private string state = String.Empty;
private int guestNumber;
private RoomType roomType;

public RoomType RoomType
{
get { return roomType; }
set { roomType = value; }
}

public int GuestNumber
{
get { return guestNumber; }
set { guestNumber = value; }
}

public string State
{
get { return state; }
set { state = value; }
}

public string Description
{
get { return description; }
set { description = value; }
}

public int BedNumber
{
get { return bedNumber; }
set { bedNumber = value; }
}

public string Number
{
get { return number; }
set { number = value; }
}

public int RoomId
{
get { return roomId; }
set { roomId = value; }
}
}
}
Peter200694013 2010-08-25
  • 打赏
  • 举报
回复
贴下那两个.cs文件中的所有代码
简单DE生活 2010-08-25
  • 打赏
  • 举报
回复
都加了 还是那两个错误 我都郁闷了!!

错误 1 “HotelModels.Room”不可访问,因为它受保护级别限制
错误 2 可访问性不一致: 参数类型“HotelModels.Room”比方法“HotelDAL.RoomService.AddRoom(HotelModels.Room)”的可访问性低

Peter200694013 2010-08-25
  • 打赏
  • 举报
回复
把涉及到的类,方法,接口都加上public
简单DE生活 2010-08-25
  • 打赏
  • 举报
回复
没啊?
MODELS层:ROOM.CS:
public class Room
{
public Room() { }
}

using Models;
public int AddRoom(Room room)
{
string sql = "insert into Room(RoomId)" + " values(@RoomId)";
sql += " ;
SqlParameter[] para = new SqlParameter[]
{
new SqlParameter("@RoomId",room.RoomId)
};
return DBHelper.GetScalar(sql, para);
}

就这样 调用 我这里没接口啊
Peter200694013 2010-08-25
  • 打赏
  • 举报
回复
是否有实现接口?

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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