如何减少 ado.net 中的代码

How to reduce the code in ado.net

我正在使用 2 种方法

public int InsertEmpDetails(EmployeeViewModel objemp)
    {
        try
        {

            con.Open();
            SqlCommand cmd = new SqlCommand("sp_InsertEmployeedetails", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@Name", objemp.Name);
            cmd.Parameters.AddWithValue("@Salary", objemp.Salary);
            cmd.Parameters.AddWithValue("@DeptId", objemp.DeptId);
            result = cmd.ExecuteNonQuery();
        }
    }

另一种方法是

public int SaveStudentMarks(StudentViewModel objstu)
    {
        try
        {
            con.Open();
            SqlCommand cmd = new SqlCommand("sp_SaveStudentDetails", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@StuName", objstu.Name);
            cmd.Parameters.AddWithValue("@Age", objstu.Age);
            cmd.Parameters.AddWithValue("@M1", objstu.M1);
            cmd.Parameters.AddWithValue("@M2", objstu.M2);
            cmd.Parameters.AddWithValue("@M3", objstu.M3);
            result = cmd.ExecuteNonQuery();

        }
   } 

这两者都有相同的代码但不同parameters.how以减少代码

只是用另一种方法是class喜欢

public static int ExecuteNonQuery(SqlCommand cmd,CommandType cmdType,string cmdText)        
      {           
        if (con.State != ConnectionState.Open)
        con.Open();
        cmd.Connection = con;
        cmd.CommandText =cmdText;
        cmd.CommandType = cmdType;
        return cmd.ExecuteNonQuery();
      }

并替换上面的方法

try
{
  cmd.Parameters.AddWithValue("@Name", objemp.Name);
  cmd.Parameters.AddWithValue("@Salary", objemp.Salary);
  cmd.Parameters.AddWithValue("@DeptId", objemp.DeptId);
  result = DataHelper.ExecuteNonQuery(cmd,CommandType.StoredProcedure,"sp_InsertEmployeedetails");            
}

也喜欢替换第二种方法