惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
博客园 - 三生石上(FineUI控件)
D
DataBreaches.Net
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
GbyAI
GbyAI
P
Proofpoint News Feed
Microsoft Security Blog
Microsoft Security Blog
月光博客
月光博客
I
InfoQ
V
Visual Studio Blog
罗磊的独立博客
Engineering at Meta
Engineering at Meta
Vercel News
Vercel News
Jina AI
Jina AI
L
LangChain Blog
Apple Machine Learning Research
Apple Machine Learning Research
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
The Cloudflare Blog
小众软件
小众软件
雷峰网
雷峰网
V
V2EX
人人都是产品经理
人人都是产品经理
Stack Overflow Blog
Stack Overflow Blog

博客园 - 流星石

水晶报表中如何改变报表的背景色、显示行数等。 如何动态生成水晶报表(ASP.NET) C编写的SQL Server 数据库连接通用类库 使用Facade模式分析 DreamWeaver MX 2004中 设为首页和加入收藏的实现 DreamWeaver MX 2004制作树状菜单 DreamWeaver MX 2004利用层进行下拉菜单的制作 Grove---------.NET中的ORM实现 .NET下的加密编程 在ASP.NET页面中显示年月日和星期的代码实现 在ASP.NET中实现多文件上传 构建简单的Web Service服务 C#中写COM+组件 在ASP.NET 中实现Model-View-Controller 数据库操作源代码 asp.net中DataGrid双行跨列表头设计心得 用C#写一个Web自定义日期时间控件 C#.net常用函数和方法集 Together for .net建模入门
在ASP.NET中写一个数据层基类-----DbObject
流星石 · 2005-07-22 · via 博客园 - 流星石

public abstract class DbObject
{
    protected SqlConnection Connection;
    private string connectionString;
    //定义两个构造函数
       public DbObject()
        {}
        public DbObject(string connString)
        {
            connectionString =connString;
            Connection = new SqlConnection(ConnectionString);
        }
        protected string ConnectionString
        {
            get {return connectionString;}
        }
    //根据指定的存储过程名称和参数生成对应的SQL命令对象。
        private SqlCommand BuilQueryCommand(string storedName,SqlParameter[] parameters)
            {
                SqlCommand command = new SqlCommand();
                command.Connection = this.Connection;
                command.CommandText ="["+storedName.Trim()+"]";
                command.CommandType = CommandType.StoredProcedure;
                if(parameters!=null)
                {
                        foreach(SqlParameter p in parameters)
                            command.parameters.add(p);
                }
                return command;
            }
    //执行不返回结果的存储过程
    protected int RunProcedure(string storedProcName,SqlParameter[] parameters,out int rowsAffected)
{
    int result;
    SqlCommand cmd = BuildQueryCommand(storedProcName,parameters);
    cmd.parameters.add(
    new SqlParameter(
    "@RETURN_VALUE", //参数名
    SqlDbType.Int, //参数类型
    4, //参数长度
    ParameterDirection.ReturnValue,//参数方向
    false,//是否可以为空
    ((system.byte)(0)),//精度
     ((system.byte)(0)),//小数位数
       "",//源列的名称
        DataRowVersion.Current,//行版本
        null//参数值。
    ));
     Connection.open();
    rowsAffected = cmd.ExecuteNonQuery();
    result =(int)(cmd.Parameters["@Return_value"].value);
    Connection.close();
    return result;
}
//执行返回结果的存储过程,最后返回一个sqldatareader对象.
protected SqlDataReader RunProcedure(string storedProcName,SqlParameter[] parameters)
{
    SqlDataReader reader;
    SqlCommand cmd=BuildQueryCommand(storedProcName,parameters);
    Connection.open();
    reader=cmd.ExecuteReader(CommandBehavior.closeConnection);
    return reader;
}

}