职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 728|回复: 0

5层之主键(母版)层----示例代码

[复制链接]
要狠 发表于 2009-5-10 20:46 | 显示全部楼层 |阅读模式
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
namespace DBUtility
{
    public class SQLHelper
    {
        public static string sqlConnString = ConfigurationManager.AppSettings[\"haha\"];
        private static void PrepareCommand(
            SqlCommand cmd,         //SqlCommand对象
            SqlConnection conn,     //连接对象
            SqlTransaction trans,   //是否是事务
            CommandType cmdType,    //判断SqlCommand对象执行的类型(普通的Sql语句,存储过程)
            string cmdText,         //要执行的Sql语句
            SqlParameter[] cmdParms //传递的参数
            
            )
        {
            if (conn.State != ConnectionState.Open)
                conn.Open();
            cmd.Connection = conn;//赋值连接对象
            cmd.CommandText = cmdText;//赋值Sql语句
            if (trans != null)//判断是否是事务
            {
                cmd.Transaction = trans;
            }
            cmd.CommandType = cmdType;//赋值操作类型
            if (cmdParms != null)//装参数
            {
                foreach (SqlParameter parm in cmdParms)
                {
                    cmd.Parameters.Add(parm);
                }
            }
        }
        public static SqlDataReader ExecuteReader(
            string connectionString,
            CommandType cmdType,
            string cmdText,
            params SqlParameter[] commandParameters)
        {
            SqlCommand cmd = new SqlCommand();
            SqlConnection conn = new SqlConnection(connectionString);
            try
            {
                PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
               
                 
                SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);//如果关闭关联的DataReader对象,则关联的Connection对象也将关闭
                cmd.Parameters.Clear();
                return rdr;
            }
            catch (Exception ex)
            {
                conn.Close();
                throw ex;
            }
        }
        public static object ExecuteScalar(
            string connectionString,
            CommandType cmdType,
            string cmdText,
           params SqlParameter[] commandParameters)
        {
            SqlCommand cmd = new SqlCommand();
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
               
                 
                object val = cmd.ExecuteScalar();
                cmd.Parameters.Clear();
                return val;
            }
        }
     
    }
}
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-6 00:02 , Processed in 0.115499 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表