高手请进:三层开发+存储过程!!

zhenhua110 2009-06-30 04:23:08
-------------添加信息---------------------
create proc AddMsg
(
@Name varchar(20),
@sex varchar(2),
@School varchar(50),
@remark varchar(100)

)
as
insert into UserInfo(name,sex,school,remark) values (@name,@sex,@school,@remark)
go


---------更新一条信息------
create proc UpdateMsg
(
@Id int,
@Name varchar(20),
@sex varchar(2),
@School varchar(50),
@remark varchar(100)

)
as
update UserInfo set name=@name,sex=@sex,school=@school,remark=@remark where id=@id
go


如何在三层开发中 --数据层 如何使用这两个存储过程?
...全文
51 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
happy184 2009-06-30
  • 打赏
  • 举报
回复

public static int ExecuteCommand(string proc)
{
SqlCommand cmd = new SqlCommand(proc, Con);
cmd.CommandType = CommandType.StoredProcedure;
int result = cmd.ExecuteNonQuery();
Con.Close();
return result;
}
happy184 2009-06-30
  • 打赏
  • 举报
回复

public static int ExecuteCommand(string proc, SqlParameter[] paras)
{
SqlCommand cmd = new SqlCommand(proc, Con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(paras);
int result = cmd.ExecuteNonQuery();
Con.Close();
return result;
}

peng_weida 2009-06-30
  • 打赏
  • 举报
回复
推荐一本书: ASP.NET 2.0电子商务开发实战
真的很有用 网上也有这教程的
wuyq11 2009-06-30
  • 打赏
  • 举报
回复
在DAL里调用存储过程,到51aspx.com里看看代码很多
SqlParameter[] commandParameters = new SqlParameter[] {
@Name varchar(20),
@sex varchar(2),
@School varchar(50),
@remark varchar(100)
new SqlParameter("@Name", SqlDbType.varchar, 200), new SqlParameter("@sex", SqlDbType.varchar, 2), new SqlParameter("@School ", SqlDbType.varchar, 50), new SqlParameter("@remark ", SqlDbType.varchar, 100) };
commandParameters[0].Value = "";
commandParameters[1].Value = "";
commandParameters[2].Value = "";
Msg m=new Mag();
DataTable table = SqlHelper.ExecuteTable(SqlHelper.ConnectionStringKy, CommandType.StoredProcedure, "AddMsg", commandParameters);


public static DataTable ExecuteTable(CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
return ExecuteTable(ConnectionStringKy, cmdType, cmdText, commandParameters);
}

public static DataTable ExecuteTable(SqlConnection connection, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = cmd;
DataSet dataSet = new DataSet();
adapter.Fill(dataSet, "test");
cmd.Parameters.Clear();
return dataSet.Tables["test"];
}
jiejie526 2009-06-30
  • 打赏
  • 举报
回复
你有没有用DBHERPER类
  • 打赏
  • 举报
回复
数据处理放在dal层(存储过程的调用写在这里面),
在业务逻辑层调用dal中的数据处理函数
stromboy007 2009-06-30
  • 打赏
  • 举报
回复
那字看着眼花·~~·
BossFriday 2009-06-30
  • 打赏
  • 举报
回复
对于完全存储过程的开发,最好使用OR-Mapping的方式。
今天刚基本修改和简化完了一个ORM的东东。。
mail_ricklee 2009-06-30
  • 打赏
  • 举报
回复
建议用IBatisNet,调用存储过程方便
可以参考www.cnblogs.com/mail-ricklee
中的FortuneBase
dong547785510 2009-06-30
  • 打赏
  • 举报
回复
2楼的我一直都用的啊。
tk1255270 2009-06-30
  • 打赏
  • 举报
回复
晕,不好意思,开始没看清你说的,直接在业务逻辑层写函数调用就行了,如果你用sqlhelp的话就更简单了
c# code
public DataSet Test(DateTime dt1,DateTime dt2)
{
SqlParameter[] SP = new SqlParameter[2];
SP[0] = new SqlParameter("@dateStart", SqlDbType.DateTime);
SP[0].Value = dt1;
SP[1] = new SqlParameter("@dateEnd", SqlDbType.DateTime);
SP[1].Value = dt2;
ds = SqlHelper.ExecuteDataset(DB.ConSql,CommandType.StoredProcedure, "UpdateMsg ", SP);

}
asge8900 2009-06-30
  • 打赏
  • 举报
回复
你什么意思,你是要在添加后又修改么,这样的话update的功能用触发器实现不就行了
chenyunkun2008 2009-06-30
  • 打赏
  • 举报
回复


在代码中写入
SqlConnection Connection=new SqlConnection("连接字符串");
SqlCommand cmd = new SqlCommand(“你的存储过程名”, Connection);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(sps);
return cmd.ExecuteNonQuery();

tk1255270 2009-06-30
  • 打赏
  • 举报
回复
你将两个SQL 写在一个存储过程中

62,243

社区成员

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

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

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

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