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

推荐订阅源

D
Darknet – Hacking Tools, Hacker News & Cyber Security
Jina AI
Jina AI
博客园_首页
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
Hugging Face - Blog
Hugging Face - Blog
S
SegmentFault 最新的问题
MyScale Blog
MyScale Blog
P
Proofpoint News Feed
L
Lohrmann on Cybersecurity
Forbes - Security
Forbes - Security
大猫的无限游戏
大猫的无限游戏
Vercel News
Vercel News
Y
Y Combinator Blog
Google DeepMind News
Google DeepMind News
The Register - Security
The Register - Security
N
News | PayPal Newsroom
S
Security Archives - TechRepublic
量子位
Cisco Talos Blog
Cisco Talos Blog
V
V2EX
C
Cisco Blogs
The Cloudflare Blog
Stack Overflow Blog
Stack Overflow Blog
L
LangChain Blog
Scott Helme
Scott Helme
S
Securelist
Security Latest
Security Latest
爱范儿
爱范儿
TaoSecurity Blog
TaoSecurity Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
I
Intezer
L
LINUX DO - 最新话题
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Check Point Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
美团技术团队
Know Your Adversary
Know Your Adversary
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
PCI Perspectives
PCI Perspectives
月光博客
月光博客
T
Tailwind CSS Blog
Cloudbric
Cloudbric
小众软件
小众软件
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
K
Kaspersky official blog
D
DataBreaches.Net
博客园 - 【当耐特】
有赞技术团队
有赞技术团队

博客园 - 流星石

水晶报表中如何改变报表的背景色、显示行数等。 如何动态生成水晶报表(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;
}

}