先说分页的存储过程吧,我有一篇文章说了点
http://www.sufeinet.com/forum.php?mod=viewthread&tid=99 有兴趣的话可以过来看一下
1.关于查询的过程
下面是一个,但是这个呢不用什么条件,主要是做用是用来绑定像 DropDownList 这们的控件,还是很方便的。下在是存储过程
[SQL] 纯文本查看 复制代码 set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
-- =============================================
-- Author: <Author sufei>
-- Create date: <Create 2090806>
-- Description: <查询所有的名称通用过程>
-- =============================================
ALTER PROCEDURE [dbo].[SP_select]
@tableName varchar(50),--直接写表名
@Colum varchar(50)--要查询列用","分开
AS
BEGIN
declare @str varchar(200);
set @str=' select '+ @Colum +' from ' +@tableName;
exec (@str);
END
这里是用法先写一个Bll的方法
[C#] 纯文本查看 复制代码 /// <summary>
/// 系统共用的查询过程没有条件
/// </summary>
/// <param name="tableName">表名</param>
/// <param name="Colum">要查询的列名</param>
/// <returns></returns>
public static DataTable SP_select(string tableName, string Colum)
{
SqlParameter[] parms = new SqlParameter[]
{
new SqlParameter ("@tableName",SqlDbType .VarChar ,50),
new SqlParameter ("@Colum",SqlDbType.VarChar ,200)
};
parms[0].Value = tableName;
parms[1].Value = Colum;
DataTable tables = SqlHelper.GetTable(SqlHelper.connectionString, CommandType.StoredProcedure, SqlString.SP_select, parms)[0];
return tables;
}
下面是应用
[C#] 纯文本查看 复制代码 ddlGL.DataSource = AdminServices.SP_select("AdminLevel", "ALID,ALNAame");
ddlGL.DataTextField = "ALNAame";
ddlGL.DataValueField = "ALID";
ddlGL.DataBind();
总结:有了这个过程以后大家再查询所有啊,绑定什么的就方便多了吧
还有删除的在这里我就不多说用法上的事了都是一样的
[SQL] 纯文本查看 复制代码 set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <公开删除>
-- =============================================
ALTER PROCEDURE [dbo].[SP_delete]
@tableName varchar(50),--直接写表名
@where varchar(50)--要查询列用,分开
AS
BEGIN
declare @str varchar(200);
set @str=' delete '+' from ' +@tableName+ ' where '+@where ;
exec (@str);
END
查询的时候有条件的都可以这样写
[SQL] 纯文本查看 复制代码 set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
-- =============================================
-- Author: <Author,sufei>
-- Create date: <20090808>
-- Description: <根据条件查询的方法>
-- =============================================
ALTER PROCEDURE [dbo].[S_selectOne]
@tableNmae varchar(50),--查询的表名
@Colum varchar(200),--要查询的列名用“,”分开
@Where varchar(200)--查询条件
AS
BEGIN
declare @strSql varchar(200);
set @strSql=' select '+@Colum +'from '+@tableNmae+' where '+@Where
exec(@strSql);
END
查询一定行数的过程
[SQL] 纯文本查看 复制代码 set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
-- =============================================
-- Author: <Author,,sufei>
-- Create date: <20090808>
-- Description: <查询一定条数的数据>
-- =============================================
ALTER PROCEDURE [dbo].[S_selectNumber]
@tableNmae varchar(50),--查询的表名
@number int ,--查询条数
@Where varchar(200)--查询条件
AS
BEGIN
declare @strSql varchar(500);
set @strSql='select top '+@number+' from '+@tableNmae
+'where '+@Where
exec(@strSql);
END
看到 这里大家可能会想为什么不写成一个呢这些都可以用一个过程来完成的,是的这个真的是这样
但是在开发的过程中有时候分开有分开的好处,用起来方便吧,呵呵
我只是说一下自己的东西,不知道大家有没有更好的方法,还有关于修改和删除的通用的过程,谁有的共享一下啊,
我在这里感谢了, 我一直都是自己写的,还真没有找到更好的关于修改和添加的共用的过程,呵呵
|