通过三层实现年龄增长

本文展示了一个使用C#更新数据库中指定记录年龄字段的例子。通过按钮点击事件触发,调用业务逻辑层方法来实现年龄的自动递增,并利用对话框反馈操作结果。

1. 代码结果如下图所示:

    

2. TblPersonBll.cs中的代码:

 

public class TblPersonBll
{
    public bool IncAgeByAutoId(int autoId)
    {
      TblPersonDal dal=newTblPersonDal();
      return dal.IncAgeByAutoId(autoId) >0;
    }
}

  

3. TblPersonDal.cs中的代码:

public class TblPersonDal
{
    public int IncAgeByAutoId(int autoId)
    {
    string sql="update TblPerson set age=age+1 where autoId=@id";
    return SqlHelper.ExcuteNonQuery(sql, CommandType.Text,new SqlParameter("@id", autoId));
    }
}        

  

4. frmIncAge.cs中的代码:

 

private void button1_Click(objectsender, EventArgse)

{
    TblPersonBll bll=new TblPersonBll();
    int autoId=int.Parse(textBox1.Text.Trim());
    if (bll.IncAgeByAutoId(autoId))
    {
        MessageBox.Show("ok!");
    }
    else
    {
        MessageBox.Show("not ok!");
    }
}    

 

5. SqlHelper.cs中的代码:

    

public static class SqlHelper
{
//获取连接字符串
private static string conStr=ConfigurationManager.ConnectionStrings["mysqlserver"].ConnectionString;
/// <summary>
///执行insert/delete/update方法
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdType"></param>
/// <param name="pms"></param>
/// <returns></returns>
public static int ExcuteNonQuery(string sql, CommandType cmdType, params SqlParameter[] pms)
{
  using (SqlConnection con=new SqlConnection(conStr))
  {
    using (SqlCommand cmd=new SqlCommand(sql, con))
    {
      cmd.CommandType=cmdType;
      if (pms!=null)
      {
        cmd.Parameters.AddRange(pms);
      }
      con.Open();
    return cmd.ExecuteNonQuery();
    }
  }
}
/// <summary>
///执行返回单个值方法
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdType"></param>
/// <param name="pms"></param>
/// <returns></returns>
public static object ExecuteScalar(string sql, CommandType cmdType, params SqlParameter[] pms)
{
  using (SqlConnection con=new SqlConnection(conStr))
  {
    using (SqlCommand cmd=new SqlCommand(sql, con))
    {
      cmd.CommandType=cmdType;
      if (pms!=null)
      {
        cmd.Parameters.AddRange(pms);
      }
      con.Open();
      returncmd.ExecuteScalar();
    }
  }
}

/// <summary>
///执行返回SqlDaraReader方法
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdType"></param>
/// <param name="pms"></param>
/// <returns></returns>
public static SqlDataReader ExecuteDataReader(string sql, CommandType cmdType, params SqlParameter[] pms)
{
  SqlConnection con=new SqlConnection(conStr);
  using (SqlCommand cmd=new SqlCommand(sql, con))
  {
    cmd.CommandType=cmdType;
    if (pms!=null)
    {
      cmd.Parameters.AddRange(pms);
    }
    try
    {       con.Open();       return cmd.ExecuteReader(CommandBehavior.CloseConnection);     }     catch     {       con.Close();       con.Dispose();       throw;
    }   } }
/// <summary>
///执行返回Datatable方法
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdType"></param>
/// <param name="pms"></param>
/// <returns></returns>
public static DataTable ExecuteDataTable(string sql, CommandType cmdType, params SqlParameter[] pms)

{   
  DataTable dt=new DataTable();   
  using (SqlDataAdapter adapter=new SqlDataAdapter(sql, conStr))  
  {     
    adapter.SelectCommand.CommandType
=cmdType;  
   
if (pms!=null)   
    {      
       adapter.SelectCommand.Parameters.AddRange(pms);  
    }     
       adapter.Fill(dt);   
  return dt;  
 }
}
}

 

转载于:https://www.cnblogs.com/taidou/p/4722231.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值