C#三层结构的问题

shuai13869896140 2010-08-10 10:45:10
我想添加一条记录 在
DAL层中是这样写的:
public void AddProjectStatus(ProjectStatusInfo projectStatus)
{
SqlParameter paramProjectStatusName = new SqlParameter("@projectStatusName", SqlDbType.NVarChar);
paramProjectStatusName.Value = projectStatus.ProjectStatusName;
SqlParameter paramProjectStatusMemo = new SqlParameter("@projectStatusMemo", SqlDbType.NText);
paramProjectStatusMemo.Value = projectStatus.ProjectStatusMemo;
SqlParameter[] sqlParams = { paramProjectStatusName, paramProjectStatusMemo };
SqlHelper.ExecuteNonQuery(CommandType.StoredProcedure, "AddProjectStatus", sqlParams);
}
在BLL层中是这样写的:
private IProjectStatus projectStatusOptions;

public IProjectStatus ProjectStatusOptions
{
get {
if (projectStatusOptions == null)
projectStatusOptions = DataAccess.CreateD_ProjectStatus();
return projectStatusOptions;
}

}

public void Add(ProjectStatusInfo currentProjectStatus)
{

projectStatusOptions.AddProjectStatus(currentProjectStatus);
}
在页面后方的cs中是如此调用:
private B_ProjectStatus projectStatusOptions;

public B_ProjectStatus ProjectStatusOptions
{
get {
if(projectStatusOptions==null)
projectStatusOptions= new B_ProjectStatus();
return projectStatusOptions; }

}

protected void Page_Load(object sender, EventArgs e)
{

}
protected void btnAdd_Click(object sender, EventArgs e)
{
ProjectStatusInfo projectStatus = new ProjectStatusInfo();

projectStatus.ProjectStatusName = txtAddProjectStatus.Text.Trim();
projectStatus.ProjectStatusMemo = txtAddProjectStatusDescription.Text.Trim();

projectStatusOptions.Add(projectStatus);
}

为什么每次都添不进去呢? 存储过程肯定没写错,麻烦各位给点意见 急等 谢谢```
...全文
113 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
一切为了你 2010-08-10
  • 打赏
  • 举报
回复
数据添加不上 确定数据库连接正常, sql语句是否正确
像这些问题自己是可以搞定的!!
wzlblair 2010-08-10
  • 打赏
  • 举报
回复
你调试的时候没有出错?

我查了查SqlHelper.ExecuteNonQuery();这个方法,没有你那种重载,你自己又写了个?
用sql server跟踪器

看看,我也新手。
风尘浪子 2010-08-10
  • 打赏
  • 举报
回复
protected void btnAdd_Click(object sender, EventArgs e)
{
ProjectStatusInfo projectStatus = new ProjectStatusInfo();

projectStatus.ProjectStatusName = txtAddProjectStatus.Text.Trim();
projectStatus.ProjectStatusMemo = txtAddProjectStatusDescription.Text.Trim();

projectStatusOptions.Add(projectStatus);
//好像projectStatusOptions没有获取对象
//改成这样应该没问题吧this.ProjectStatusOptions.Add(projectStatus);
}
pavee 2010-08-10
  • 打赏
  • 举报
回复
怎么还念念不忘ADO.NET, 晕!
纯白油条 2010-08-10
  • 打赏
  • 举报
回复
bu dong 来学习
-小蕾- 2010-08-10
  • 打赏
  • 举报
回复
先调试看看,是那句没执行。。。
Jessezu 2010-08-10
  • 打赏
  • 举报
回复
调试一下
打开sql server跟踪器,看存储过程执行了没
  • 打赏
  • 举报
回复
看了被你的类名字看晕了
实例化BLL对象调用Add 方法,参数为页面传入的值
shuai13869896140 2010-08-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 leslies2 的回复:]
protected void btnAdd_Click(object sender, EventArgs e)
{
ProjectStatusInfo projectStatus = new ProjectStatusInfo();

projectStatus.ProjectStatusName = txtAddProjectStatus.Text.Trim();
……
[/Quote]

虽然自己找到前边已经解决,但你回答是正确的,谢了```

110,534

社区成员

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

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

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