zoukankan      html  css  js  c++  java
  • DataBase

      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Text;
      5 using System.Data;
      6 using System.Data.SqlClient;
      7 namespace build
      8 {
      9    public class Database
     10     {
     11        public SqlConnection getConnection()
     12        {
     13            return new SqlConnection("server=.;uid=home;pwd=;database=build");
     14        }
     15        SqlConnection con = null;
     16        /// <summary>
     17        /// 执行SQL语句
     18        /// </summary>
     19        /// <param name="sql">SQL语句</param>
     20        /// <returns>返回一个具体值</returns>
     21        public object QueryScalar(string sql)
     22        {
     23            Open();//打开数据连接
     24            object result = null;
     25            try
     26            {
     27                using(SqlCommand cmd=new SqlCommand(sql,con))
     28                {
     29                    result = cmd.ExecuteScalar();
     30                    return result;
     31                }
     32            }
     33            catch
     34            {
     35                return null;
     36            }
     37 
     38        }
     39        /// <summary>
     40        /// 执行SQL语句
     41        /// </summary>
     42        /// <param name="sql">要执行的SQL语句</param>
     43        /// <param name="prams">参数</param>
     44        /// <returns></returns>
     45        public object QueryScalar(string sql,SqlParameter[]prams)
     46        {
     47            Open();
     48            object result = null;
     49            try
     50            {
     51                using (SqlCommand cmd = CreateCommandSql(sql, prams))
     52                {
     53                    result = cmd.ExecuteScalar();
     54                    return result;
     55                }
     56            }
     57            catch
     58            {
     59                return null;
     60            }
     61        }
     62        /// <summary>
     63        /// 创建一个Sqlcommand对象,用来构建SQL语句
     64        /// </summary>
     65        /// <param name="sql">sql语句</param>
     66        /// <param name="prams">sql所需要的参数</param>
     67        /// <returns></returns>
     68        public SqlCommand CreateCommandSql(string sql, SqlParameter[] prams)
     69        {
     70            Open();
     71            SqlCommand cmd = new SqlCommand(sql,con);
     72            if (prams != null)
     73            {
     74                foreach (SqlParameter parameter in prams)
     75                {
     76                    cmd.Parameters.Add(parameter);
     77                }
     78            }
     79            return cmd;
     80        }
     81        private void Open()
     82        {
     83            if (con == null)
     84            {
     85                con = new SqlConnection("server=.;uid=home;pwd=;database=build");
     86 
     87            }
     88            if (con.State == ConnectionState.Closed)
     89            {
     90                con.Open();
     91            }
     92        }
     93        /// <summary>
     94        /// 要执行SQL语句,该方法返回一个DataTable
     95        /// </summary>
     96        /// <param name="sql">执行SQL语句</param>
     97        /// <returns></returns>
     98        public DataTable Query(string sql)
     99        {
    100            Open();
    101            using (SqlDataAdapter sqlda = new SqlDataAdapter(sql, con))
    102            {
    103                using (DataTable dt = new DataTable())
    104                {
    105                    sqlda.Fill(dt);
    106                    return dt;
    107                }
    108            }
    109 
    110        }
    111        /// <summary>
    112        /// 执行SQL语句,返回DataTable
    113        /// </summary>
    114        /// <param name="sql">要执行的SQL语句</param>
    115        /// <param name="prams">构建SQL语句所需要的参数</param>
    116        /// <returns></returns>
    117        public DataTable Query(string sql,SqlParameter[]prams)
    118        {
    119            SqlCommand cmd = CreateCommandSql(sql,prams);
    120            using (SqlDataAdapter sqldata = new SqlDataAdapter(cmd))
    121            {
    122                using (DataTable dt = new DataTable())
    123                {
    124                    sqldata.Fill(dt);
    125                    return dt;
    126                }
    127            }
    128        }
    129        /// <summary>
    130        /// 执行SQL语句,返回影响的记录行数
    131        /// </summary>
    132        /// <param name="sql">要执行的SQL语句</param>
    133        /// <returns></returns>
    134        public int RunSql(string sql)
    135        {
    136            int result = -1;
    137            try
    138            {
    139                Open();
    140                using (SqlCommand cmd = new SqlCommand(sql, con))
    141                {
    142                   result= cmd.ExecuteNonQuery();
    143                   con.Close();
    144                   return result;
    145                }
    146            }
    147            catch
    148            {
    149                return 0;
    150            }
    151        }
    152        /// <summary>
    153        /// 执行SQL语句,返回影响的记录行数
    154        /// </summary>
    155        /// <param name="sql">要执行的SQL语句</param>
    156        /// <param name="prams">SQL语句所需要的参数</param>
    157        /// <returns></returns>
    158        public int RunSql(string sql,SqlParameter[]prams)
    159        {
    160            try
    161            {
    162                int result = -1;
    163                SqlCommand cmd = CreateCommandSql(sql, prams);
    164                result = cmd.ExecuteNonQuery();
    165                this.Close();
    166                return result;
    167            }
    168            catch
    169            {
    170                return 0;
    171            }
    172 
    173        }
    174        public void Close()
    175        {
    176            if (con != null)
    177                con.Close();
    178 
    179        }
    180        /// <summary>
    181        /// 执行SQL语句,返回一个SqlDataReader
    182        /// </summary>
    183        /// <param name="sql"></param>
    184        /// <param name="dataReader"></param>
    185        public void RunSql(string sql,out SqlDataReader dataReader)
    186        {
    187            SqlCommand cmd = CreateCommandSql(sql,null);
    188            dataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
    189 
    190        }
    191        public void RunSql(string sql,SqlParameter[]prams,out SqlDataReader dataReader)
    192        {
    193            SqlCommand cmd = CreateCommandSql(sql,prams);
    194            dataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
    195        }
    196        /// <summary>
    197        /// 执行存储过程
    198        /// </summary>
    199        /// <param name="ProcName">存储过程名称</param>
    200        /// <returns></returns>
    201        public int RunProc(string ProcName)
    202        {
    203            SqlCommand cmd = CreateCommand(ProcName,null);
    204            cmd.ExecuteNonQuery();
    205            this.Close();
    206            return (int)cmd.Parameters["ReturnValue"].Value; 
    207 
    208        }
    209        /// <summary>
    210        /// 执行存储过程
    211        /// </summary>
    212        /// <param name="ProcName">要执行的存储过程的名称</param>
    213        /// <param name="prams">构建存储过程所需要的参数</param>
    214        /// <returns></returns>
    215        public int RunProc(string ProcName,SqlParameter[]prams)
    216        {
    217            SqlCommand cmd = CreateCommand(ProcName,prams);
    218            cmd.ExecuteNonQuery();
    219            this.Close();
    220            return (int)cmd.Parameters["ReturnValue"].Value;
    221        }
    222        /// <summary>
    223        /// 执行存储过程,返回SqlDataReader
    224        /// </summary>
    225        /// <param name="ProcName">存储过程</param>
    226        /// <param name="dataReader">要返回的SqlDataReader</param>
    227        public void RunProc(string ProcName,out SqlDataReader dataReader)
    228        {
    229            SqlCommand cmd = CreateCommand(ProcName,null);
    230            dataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
    231        }
    232        public void RunProc(string ProcName,SqlParameter[]prams,out SqlDataReader dataReader)
    233        {
    234            SqlCommand cmd = CreateCommand(ProcName,prams);
    235            dataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
    236        }
    237        /// <summary>
    238        /// 创建一个sqlCommand对象,用来执行存储过程
    239        /// </summary>
    240        /// <param name="ProcName">存储过程名称</param>
    241        /// <param name="prams">构建存储过程所需要的参数</param>
    242        /// <returns></returns>
    243        private SqlCommand CreateCommand(string ProcName,SqlParameter[]prams)
    244        {
    245            Open();
    246            SqlCommand cmd = new SqlCommand(ProcName,con);
    247            cmd.CommandType = CommandType.StoredProcedure;
    248            if (prams != null)
    249            {
    250                foreach (SqlParameter parameter in prams)
    251                {
    252                    cmd.Parameters.Add(parameter);
    253                }
    254 
    255            }
    256            cmd.Parameters.Add(new SqlParameter("ReturnValue",SqlDbType.Int,4,ParameterDirection.ReturnValue,false,0,0,string.Empty,DataRowVersion.Default,null));
    257            return cmd;
    258 
    259        }
    260        /// <summary>
    261        /// 对DateTime型数据做限制
    262        /// </summary>
    263        /// <returns></returns>
    264        public SqlParameter MakeInParamDate(string ParamName,SqlDbType DbType,int size,DateTime value)
    265        {
    266            if (value.ToShortDateString() == "0001-1-1")
    267            {
    268                return MakeParam(ParamName, DbType, size, ParameterDirection.Input, System.DBNull.Value);
    269            }
    270            else
    271            {
    272                return MakeParam(ParamName,DbType,size,ParameterDirection.Input,value);
    273            }
    274        }
    275        public SqlParameter MakeParam(string ParamName,SqlDbType DbType,int size,ParameterDirection Direction,object value)
    276        {
    277            SqlParameter Param;
    278            if (size > 0)
    279            {
    280                Param = new SqlParameter(ParamName, DbType, size);
    281            }
    282            else
    283            {
    284                Param = new SqlParameter(ParamName,DbType);
    285            }
    286            Param.Direction = Direction;
    287            if (!(Direction == ParameterDirection.Output && value == null))
    288            {
    289                Param.Value = value;
    290 
    291 
    292            }
    293            return Param;
    294        }
    295        /// <summary>
    296        /// 对String类型数据的限制
    297        /// </summary>
    298        /// <returns></returns>
    299        public SqlParameter MakeInParamStr(string ParamName,SqlDbType Dbtype,int size,string  value)
    300        {
    301            if (value == null)
    302            {
    303                return MakeParam(ParamName, Dbtype, size, ParameterDirection.Input, System.DBNull.Value);
    304 
    305            }
    306            else
    307            {
    308                return MakeParam(ParamName,Dbtype,size,ParameterDirection.Input,value);
    309            }
    310        }
    311        /// <summary>
    312        /// 对int,float数据的限制
    313        /// </summary>
    314        /// <returns></returns>
    315        public SqlParameter MakeInParamIntF(string ParamName,SqlDbType DbType,int size,object value)
    316        {
    317            if (float.Parse(value.ToString()) == 0)
    318            {
    319                return MakeParam(ParamName, DbType, size, ParameterDirection.Input, System.DBNull.Value);
    320            }
    321            else
    322            {
    323                return MakeParam(ParamName,DbType,size,ParameterDirection.Input,value);
    324            }
    325        }
    326        public SqlParameter MakeInParam(string ParamName, SqlDbType DbType, object value)
    327        {
    328            return MakeParam(ParamName, DbType, 0, ParameterDirection.Input, value);
    329        }
    330        public SqlParameter MakeInParam(string ParamName, SqlDbType DbType, int size, object value)
    331        {
    332            return MakeParam(ParamName, DbType, size, ParameterDirection.Input, value);
    333        }
    334        public SqlParameter MakeOutParam(string ParamName,SqlDbType DbType,int size)
    335        {
    336            return MakeParam(ParamName, DbType, size, ParameterDirection.Output, null);
    337        }
    338        public SqlParameter MakeReturnParam(string ParamName, SqlDbType DbType, int size)
    339        {
    340            return MakeParam(ParamName,DbType,size,ParameterDirection.ReturnValue,null);
    341        }
    342 
    343     }
    344 }
    View Code
  • 相关阅读:
    凤凰传奇
    信息孤岛
    别了,中珠
    吃苦要趁早
    触动——beyond歌词
    走出舒适区,迎接挑战
    创新永存
    信息时代
    变色龙时代——创新
    Java基本的数据类型
  • 原文地址:https://www.cnblogs.com/wdd812674802/p/9563835.html
Copyright © 2011-2022 走看看