DAL层 集合

测试连接

//这里是一个测试类 
public void test() 
{ 
  //设置连接借口 
  SqlConnection conn = new SqlConnection("server=YBO-PC;database=newssystem;User ID=sa;Password=123123");//内联 
  /*conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString);*/ 
  //打开连接接口 
  conn.Open(); 
  //将连接和SQL语句传给过程 
  SqlCommand cmd = new SqlCommand("insert into category(name) values('沈阳')",conn); 
  //执行过程 (这里返回的是一个受影响数) 
  cmd.ExecuteNonQuery(); 
  //关闭连接接口 
  conn.Close(); 
}  

 传入一个SQL语句 //增,删,改 返回更新行数

//传入一个SQL语句 进行增,删,改  返回记录行数
public int ExecuteNonQuery(string sql)
{
  int res = 0;
  try                     //抛出异常
  {
    conn.Open();
    cmd = new SqlCommand(sql, conn);
    res = cmd.ExecuteNonQuery();
  }
  catch (Exception ex)           //异常处理
  {
    throw ex;
  }
  finally                //必须执行代码
  {
    conn.Clone();
  }
  return res;
}

传入一个SQL语句 //查询 返回一个数据表格

//传入一个SQL语句 //查询 返回一个数据表格
  public DataTable ExecuteQuery(string sql)
  {
  //定义一个可以存储表的类 数据网格控件
    DataTable dt = new DataTable();
    //打开连接接口
    conn.Open();
    //传入查询语句并于过程连接
    cmd = new SqlCommand(sql,conn);
    //定义一个数据表对象 并将执行过程的结果传给数据表对象
    SqlDataReader sdr = cmd.ExecuteReader();
    //将数据对象的内容载入到dt数据网格控件中
    dt.Load(sdr);
    //关闭数据表对象
    sdr.Close();
    //关闭连接接口
    conn.Close();
    //返回 网格数据
    return dt;
  }

 测试传参数集合(防止SQL语句滥用)

 //测试传变量
public int test()
 {
 int res;
 conn.Open();
/*用Using防止出错,连接失败将自动关闭连接接口*/
 using (cmd=new SqlCommand("insert into category(name) values(@caName)",conn))
 {
  /*定义一个参数,将"测试"传给@caName*/
  cmd.Parameters.Add(new SqlParameter("@caName","测试"));
  /*执行过程 返回执行行数(int)传给res*/
  res = cmd.ExecuteNonQuery();
 }
 return res;
}

带数组变量 的 增 删 改 方法

        //带数组变量 的 增 删 改 方法
public int ExecuteNonQuery(string sql,SqlParameter[] paras)
{
  int res;
  conn.Open();
  using (cmd = new SqlCommand(sql, conn))
  {
      /*将参数传给过程*/
     cmd.Parameters.AddRange(paras);
     res = cmd.ExecuteNonQuery(); 
  }
  return res;
}

带数组变量 的 查询 方法

 //带数组变量 的 查询 方法
public DataTable ExecuteQuery(string sql,SqlParameter[] paras)
{
  //定义一个可以存储表的类 数据网格控件
  DataTable dt = new DataTable();
  //打开连接接口
  conn.Open();
  //传入 查询语句 连接连接接口 到 过程
   cmd = new SqlCommand(sql, conn);
  //给过程添加参数
   cmd.Parameters.AddRange(paras);
  //using起异常作用 无论成功与否都会将 conn和rea 关闭
   using (SqlDataReader sdr =cmd.ExecuteReader (CommandBehavior.CloseConnection))
   {
      dt.Load(sdr);
   }
   return dt;
}

  /* 查询 带参数存储过程   过程名  参数集合  返回一个表*/ 

 /* 查询 带参数存储过程   过程名  参数集合  返回一个表*/  
public DataTable testt(string procName, SqlParameter[] paras)
  {
  /*定义一个 表*/
  DataTable dt = new DataTable();
  /*打开连接接口*/
  conn.Open();
  /*给过程赋值    存储过程名 和 接口名*/
  cmd = new SqlCommand(procName, conn);
  /*给过程定义类型  这里是存储过程*/
  cmd.CommandType = CommandType.StoredProcedure;
  //参数传给过程
  cmd.Parameters.AddRange(paras);
  //执行语句 是否成功都会关闭所有连接( 数据库读取行的只进流的方式sdr=执行cmd过程(错误则关闭连接))
  using (SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
  {
      //数据表 载入(数据库读取行的只进流的方式)
      dt.Load(sdr);
  }
  return dt;
}

/* 增删改 带参数存储过程   过程名  参数集合  返回一个记录*/ 

/* 增删改 带参数存储过程   过程名  参数集合  返回一个记录*/  
public int ExecuteNonQueryProce(string cmdText, SqlParameter[] paras)
  {
  int res;
  conn.Open();
  using (cmd = new SqlCommand(cmdText,conn))
  {
    /*定义过程类型*/
    cmd.CommandType = CommandType.StoredProcedure;
    /*添加参数集合*/
    cmd.Parameters.AddRange(paras);
    /*执行过程并将过程数返回给res*/
    res = cmd.ExecuteNonQuery();
  }
  return res;
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值