函数传空参 调用存储过程
来源:互联网 发布:在线浏览器代理软件 编辑:程序博客网 时间:2024/04/30 10:38
这个可是折腾了我昨天一下午,我就是喜欢能少写方法就少写,所以就会出现很多的问题。不过还是有很多收获。
算了,还是贴代码吧,看的实在点。
int? CompanyID = Convert.ToInt32(Session["Frame_ID"]); //这个是aspx.cs文件定义的参数咯,当session[“Frame_ID”]为null时,CompanyID=0.
再看CS类文件的类方法如何传参的:
public SqlDataReader Proc_Team_Query(int? CompanyID, SQLHelper.SQLHelper sqlhelper)
{
SqlDataReader dr = null;
if (CompanyID == 0)
{
SqlParameter[] paramList = {
sqlhelper.CreateInParam("@FrameID",SqlDbType.Int,4,DBNull.Value) //要这样传才可以,变成DBNull.Value才能传进数据库
};
try
{
///执行存储过程
sqlhelper.RunProc("Proc_Team_Query", paramList, out dr);
}
catch (Exception ex)
{
///抛出执行数据库异常
SystemError.SystemLog(ex.Message);
throw new Exception(ex.Message, ex);
}
}
else
{
SqlParameter[] paramList = {
sqlhelper.CreateInParam("@FrameID",SqlDbType.Int,4,CompanyID)
};
try
{
///执行存储过程
sqlhelper.RunProc("Proc_Team_Query", paramList, out dr);
}
catch (Exception ex)
{
///抛出执行数据库异常
SystemError.SystemLog(ex.Message);
throw new Exception(ex.Message, ex);
}
}
return dr;
}
再看数据库里的存储过程:
ALTER PROCEDURE [dbo].[Proc_Team_Query]
@FrameID decimal
AS
if(@FrameID is null) //要写成is null,否则查询不出的
begin
select *
from Base_Framework
where Parent_ID is null //这里同样也是,要写成is null
end
else
begin
select *
from Base_Framework
where Parent_ID = @FrameID
end
OK了,是不是有些繁琐,可是我喜欢什么情况都能调用,这样就会少些不必要的文件了。
- 函数传空参 调用存储过程
- 存储过程调用函数
- 存储过程调用自定义函数
- EF调用存储过程、函数
- oracle函数调用存储过程
- JDBC:调用函数&存储过程
- 调用存储过程和函数
- EF调用存储过程、函数
- JDBC 调用存储函数 存储过程
- SQL存储过程调用标量值函数,存储过程调用存储过程
- Mysql通过函数调用存储过程
- C#调用Oracle存储过程或者函数
- OTL调用存储过程和函数
- 存储过程调用包中的函数
- JDBC调用存储过程和函数
- 调用oracle函数与存储过程
- OTL调用存储过程/函数及注意事项
- java调用存储过程和函数
- 使用 screen 管理你的远程会话
- 【sed&awk】统计文本中单词的分布
- C++ 直接插入排序
- MFC里创建FLASH控件,并从内存流中载入SWF
- Anroid开发中常用的外部jar库
- 函数传空参 调用存储过程
- GridView 简单使用
- Android 开发环境配置问题:AVD不能创建是的原因
- ubuntu下安装sh和bin格式软件包
- 设置HTML标签<textarea>默认值
- nbu 2427 Pigs
- 数据结构之哈希表(hash)代码
- MATLAB时域信号的平移
- Java API实现国际化资源文件