用存储过程写基类

连接数据库
  /**/ /// <summary>
        
/// connecting to Database
        
/// ["personal"]--根据Web.config可更改
        
/// </summary>

         public   string  strConn  =  ConfigurationManager.ConnectionStrings[ " SoftBlogConnectionString1 " ].ConnectionString;

以前用这个方法执行一句SQL语句
         /**/ /// <summary>
        
/// executing SQL commands-执行一段SQL语句
        
/// </summary>
        
/// <param name="strSQL">string</param>
        
/// <returns>return int</returns>


        
public   void  dbExecuteSql( string  strSQL)
        
{
            SqlConnection myCn 
= new SqlConnection(strConn);
            SqlCommand myCmd 
= new SqlCommand(strSQL, myCn);
            
try
            
{
                myCn.Open();
                myCmd.ExecuteNonQuery();
            }

            
catch (System.Data.SqlClient.SqlException e)
            
{
                
throw new Exception(e.Message);
            }

            
finally
            
{
                myCmd.Dispose();
                myCn.Close();
            }

        }

但这样容易被注入,
于是我做了以下改进:
  /**/ /// <summary>
        
/// 用存储过程执行一句SQL语句,需要传入存储过程的名字
        
/// </summary>
        
/// <param name="ProcName">存储过程的名字</param>

         public   void  dbExectSqlOnProc( string  ProcName)
        
{
            SqlConnection con 
= new SqlConnection(strConn);
            SqlCommand cmd 
= new SqlCommand(ProcName, con);
            cmd.CommandType 
= CommandType.StoredProcedure;
            
try
            
{
                con.Open();
                cmd.ExecuteNonQuery();
            }

            
catch (System.Data.SqlClient.SqlException e)
            
{
                
throw new Exception(e.Message);
            }

            
finally
            
{
                cmd.Dispose();
                con.Close();
            }

        }
这样想执行一句SQL语句时就在数据库中写一个存储过程,然后再在后台给命令对象添加参数,
不管是几个参数,只需要在写方法和写存储过程时添加上就可以了。
但是写方法时初始化的(SqlParameter[] paras = new SqlParameter[2])paras 参数怎么传进去呢???

呵呵,有点迷~~~早点睡了。

转载于:https://www.cnblogs.com/gengxiaochao/archive/2007/09/27/907342.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值