>  기사  >  백엔드 개발  >  일반적으로 사용되는 4가지 .NET SQLHELPER 메서드 예

일반적으로 사용되는 4가지 .NET SQLHELPER 메서드 예

高洛峰
高洛峰원래의
2017-01-14 14:37:081285검색

이 글에서 설명하는 예제는 Dongsoft, CodeSmith 등 인터넷상의 코드 생성기에서 일반적으로 생성되는 sqlhelper와 다릅니다. 실제로 코드 생성기에서 생성된 sqlhelper의 메소드 중 상당수는 실제 개발에서는 사용되지 않습니다. 초보자가 클래스를 캡슐화하는 메소드가 너무 많으면 특정 문제가 발생하고 부담이 증가할 수 있다는 점을 고려하여 이 기사에서는 4가지를 요약해 보겠습니다. 실제로 가장 일반적으로 사용되는 두 가지 방법은 검색 및 추가, 삭제 및 수정입니다.

winform 개발에서는 sqlhelper가 더 많이 사용된다는 점에 유의해야 합니다. asp.net 및 mvc 프로젝트에서 사용되는 캡슐화 클래스는 winform과 유사하지만 대규모 프로젝트에서는 더 나은 방식을 사용하기 때문에 특정 차이점이 있습니다. 프레임워크 또는 자신의 회사에서 개발한 프레임워크와 캡슐화 클래스도 다릅니다. 이 기사에 요약된 네 가지 방법은 winform에서 더 일반적으로 사용됩니다.

주요 코드는 다음과 같습니다.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
namespace SQL
{
  public static class SqlHelper
  {
    /// <summary>
    /// 创建连接的字符串
    /// </summary>
    static readonly string connStr=ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
 
 #region 1.0 执行查询语句,返回一个表 + static DataTable ExcuteTable(string sql, params SqlParameter[] ps)
    /// <summary>
    /// 1.0 执行查询语句,返回一个表
    /// </summary>
    /// <param name="sql">sql语句</param>
    /// <param name="ps">参数数组</param>
    /// <returns>返回一张表</returns>
    public static DataTable ExcuteTable(string sql, params SqlParameter[] ps)
    {
      SqlDataAdapter da = new SqlDataAdapter(sql, connStr);
      da.SelectCommand.Parameters.AddRange(ps);
      DataTable dt = new DataTable();
      da.Fill(dt);
      return dt;
    } 
    #endregion
 
    #region 2.0 执行增删改的方法 + static int ExcuteNoQuery(string sql, params SqlParameter[] ps)
    /// <summary>
    /// 2.0 执行增删改的方法
    /// </summary>
    /// <param name="sql">sql语句</param>
    /// <param name="ps">参数数组</param>
    /// <returns>返回一条记录</returns>
    public static int ExcuteNoQuery(string sql, params SqlParameter[] ps)
    {
      using (SqlConnection conn = new SqlConnection(connStr))
      {
        conn.Open();
        SqlCommand command = new SqlCommand(sql, conn);
        command.Parameters.AddRange(ps);
        return command.ExecuteNonQuery();
      }
    } 
    #endregion
 
    #region 3.0 执行存储过程的方法 + static int ExcuteProc(string procName, params SqlParameter[] ps)
    /// <summary>
    /// 3.0 执行存储过程的方法
    /// </summary>
    /// <param name="procName">存储过程名</param>
    /// <param name="ps">参数数组</param>
    /// <returns></returns>
    public static int ExcuteProc(string procName, params SqlParameter[] ps)
    {
      using (SqlConnection conn = new SqlConnection(connStr))
      {
        conn.Open();
        SqlCommand command = new SqlCommand(procName, conn);
        command.CommandType = CommandType.StoredProcedure;
        command.Parameters.AddRange(ps);
        return command.ExecuteNonQuery();
      }
    } 
    #endregion
 
    #region 4.0 查询结果集,返回的是首行首列 + static int ExecScalar(string sql, params SqlParameter[] ps)
    /// <summary>
    /// 4.0 查询结果集,返回的是首行首列
    /// </summary>
    /// <param name="sql">sql语句</param>
    /// <param name="ps">参数数组</param>
    /// <returns></returns>
    public static object ExecScalar(string sql, params SqlParameter[] ps) //调用的时候才判断是什么类型
    {
      using (SqlConnection conn = new SqlConnection(connStr))
      {
        conn.Open();
        SqlCommand command = new SqlCommand(sql, conn);
        command.Parameters.AddRange(ps);
        return command.ExecuteScalar();
      }
    } 
    #endregion
  }
}

이 글에 설명된 내용은 모든 사람의 .net 프로그래밍에 대한 특정 참조 가치가 있다고 믿습니다.

일반적으로 사용되는 4가지 .NET SQLHELPER 메서드 예제와 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.