当前位置:编程学习 > C#/ASP.NET >>

三层中调用存储过程问题,请教高手,急!

本人菜鸟,新做了个项目,以前没用三层,这个项目需要用,建好了DAL,Models,BLL,UI,在DAl里写了一个执行类DBHelper类,但是遇到一个问题,在调用存储过程时,不通用,所以请教各位了。
下面是存储过程代码:
ALTER PROCEDURE [dbo].[sp_usertest]
    @type NCHAR(1),--1:添加 2:删除 3:修改 默认:查询
@userId INT ,
@userName NVARCHAR(50),
@userPass NVARCHAR(50),
@userSex NVARCHAR(50)
AS
BEGIN
DECLARE @err int
SET @err=0
    BEGIN TRANSACTION UserTest
IF(@type='1')
BEGIN
BEGIN
INSERT INTO UserInfo(userName,userPass,userSex) VALUES(@userName,@userPass,@userSex)
END

SET @err=@err+@@ERROR
END

ELSE IF(@type='2')
BEGIN
BEGIN
DELETE UserInfo WHERE userId=@userId
END

SET @err=@err+@@ERROR
END

ELSE IF(@type='3')
BEGIN
BEGIN
UPDATE UserInfo SET userName=@userName,userPass=@userPass WHERE userId=@userId
END

SET @err=@err+@@ERROR
END

ELSE
BEGIN
BEGIN
SELECT * FROM UserInfo
END

SET @err=@err+@@ERROR
END

IF(@err=0)
COMMIT TRANSACTION UserTest
ELSE
    ROLLBACK TRANSACTION UserTest
END

需要在type不同时,执行不同sql语句,我需要一个通用的执行方法就好了,谢谢各位 --------------------编程问答-------------------- za在线等,帮下我,谢谢了~ --------------------编程问答-------------------- 没有人吗? --------------------编程问答-------------------- 不通用是什么,出什么错啊?你这样不管执行什么操作都要传五个参数进来?弄个默认的。不然每个都得传。不传就报错。 --------------------编程问答-------------------- 我是根据type判断啊 --------------------编程问答-------------------- 就是郁闷了,不 知道怎么 处理~~~ --------------------编程问答-------------------- 给那5个参数设置默认值 --------------------编程问答-------------------- 具体怎么设置呀 --------------------编程问答-------------------- 把你的存储过程的那参数修改下就好
ALTER PROCEDURE [dbo].[sp_usertest] 
    @type NCHAR(1),--1:添加 2:删除 3:修改 默认:查询 
@userId INT=0 , 
@userName NVARCHAR(50)='', 
@userPass NVARCHAR(50)='', 
@userSex NVARCHAR(50)=''

这些默认为空, --------------------编程问答-------------------- 太长了,
网上通用的很多 --------------------编程问答-------------------- 谢谢了~ --------------------编程问答-------------------- 实在不行 我发个通用DB类给你吧 我QQ 76477140 --------------------编程问答--------------------
引用 7 楼 zjm3257028 的回复:
具体怎么设置呀


直接赋值呗
@userId INT = 1,
@userName NVARCHAR(50) = 'aaa'

你传值了,就使用传进来的值,没有使用默认值
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,