利用C#语言,调用存储过程,使用三层架构实现,我需要实现的功能见问题补充

2025-01-20 01:50:43
推荐回答(4个)
回答1:

先写Dal层
public datatable GetTable()
{
SqlConnection conn=new SqlConnection ();
conn.ConnectionString="Server=(local);database=db;uid=sa;pwd=sa";//连接数据源
conn.Open();
SqlCommand cmd=new SqlCommand("Select",conn);//其中select为存储过程名称
cmd.CommandType = CommandType.StoredProcedure;//指定执行类型为存储过程
DataTable dt = new DataTable();
//执行存储过程
SqlDataAdapter sda=new SqlDataAdapter(cmd);
//将结果填充到datatable中
sda.Fill(dt);
return dt;//返回Datatable
}

Bll层
//实例化Dal层方法
DAL dal=new DAL();
public datatable BllGetTable()
{// 获取数据表
return dal.GetTable();
}

页面层
//实例化Bll层方法
Bll bll=new Bll();
Datatable dt=new datatable();
// 调用Bll层方法
dt=bll.BllGetTable();

回答2:

说个大致思路,
按钮点击以后触发
后台点击事件(也可以使用ajax提交)。后台事件中调用bll(业务逻辑层的代码进行一系列操作),然后调用dal层中的方法或者事件。dal层中通过ado.net
连接数据库执行存储过程。

回答3:

不理解你想要的什么样的答案
DAL 主要是对数据库的操作 比如你说的调用存储过程,从数据库中获取数据等都是DAL层的任务
BLL 主要是实现业务逻辑,比如对数据的处理等等。
UI 主要是程序与用户的接口,
UI层调用BLL层获取展示的数据,或者处理用户输入的数据
BLL层调用DAL层获取数据并处理或者将数据持久化
希望能够对你有所帮助

回答4:

给你个参考函数
DAL中
public DataSet GetAllWaitDelID(string ITEM_IDs)
{
DataSet ds = new DataSet();
Database db = DatabaseFactory.CreateDatabase();
using (DbCommand comm = db.GetStoredProcCommand("up_FORUM_FILELoadWaitDeleteID"))
{
db.AddInParameter(comm, "ITEM_IDs", DbType.String, ITEM_IDs);

ds = db.ExecuteDataSet(comm);
}
return ds;
}
BLL中
[Transaction()]
///


/// 返回所有待删除的附件数据
///

/// 主题以及回复的ID
///
public DataSet GetAllWaitDelID(string ITEM_IDs)
{
return Forum_FileDal.Instance.GetAllWaitDelID(ITEM_IDs);
}
页面中调用
DataSet dsItems= Forum_FileBll.Instance.GetAllWaitDelID(items);