创建存储过程
create PROCEDURE [dbo].[SP_SelectByWhere]
(
@strTableName nvarchar(200),
@strWhere nvarchar(200)='',
@strSelect nvarchar(300)= '*',
@strOrder nvarchar(50)=''
)
AS
begin transaction
declare @sql varchar(4000)
begin
set @sql= 'select '+ @strSelect+ ' from '+ @strTableName + ' ' +@strWhere + ' ' +@strOrder
execute(@sql)
end
类调用存储过程
public DataTable List()
{
string strSelect = "*";
string strWhere = "where id=1";
string strTableName = "users";
SqlParameter[] param = new SqlParameter[]
{
new SqlParameter("@StrSelect",strSelect),
new SqlParameter("@strWhere",strWhere),
new SqlParameter("@strTableName", strTableName),
new SqlParameter("@strOrder", "")
};
SqlCommand cmd = new SqlCommand("SP_SelectByWhere", MyConn);
cmd.CommandType = CommandType.StoredProcedure;
if (param != null)
{
foreach (SqlParameter Parameter in param)
cmd.Parameters.Add(Parameter);
}
return ExeDt(cmd);
}