Heim  >  Artikel  >  Backend-Entwicklung  >  Vier häufig verwendete Beispiele für .NET SQLHELPER-Methoden

Vier häufig verwendete Beispiele für .NET SQLHELPER-Methoden

高洛峰
高洛峰Original
2017-01-14 14:37:081287Durchsuche

Die in diesem Artikel beschriebenen Beispiele unterscheiden sich von dem SQLhelper, der üblicherweise von Codegeneratoren im Internet wie Dongsoft, CodeSmith usw. generiert wird. Tatsächlich werden viele vom Codegenerator generierte Methoden von sqlhelper in der tatsächlichen Entwicklung nicht verwendet. Wenn Anfänger über zu viele Methoden zum Kapseln von Klassen verfügen, führt dies zu bestimmten Problemen und erhöht ihre Belastung. Daher werden in diesem Artikel die vier Methoden aufgeführt In der Praxis häufig verwendete Methoden sind Suchen und Hinzufügen, Löschen und Ändern. Die anderen beiden werden ebenfalls seltener verwendet.

Es ist zu beachten, dass sqlhelper eher in der Entwicklung von Winform verwendet wird. Die in asp.net- und MVC-Projekten verwendeten Kapselungsklassen ähneln denen von Winform, es gibt jedoch gewisse Unterschiede, da große Projekte besser sind Framework oder ein von Ihrem eigenen Unternehmen entwickeltes Framework, und die Kapselungsklassen sind ebenfalls unterschiedlich. Die in diesem Artikel zusammengefassten vier Methoden werden häufiger in Winform verwendet.

Der Hauptcode lautet wie folgt:

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
  }
}

Ich glaube, dass das, was in diesem Artikel beschrieben wird, einen gewissen Referenzwert für die .net-Programmierung aller hat.

Weitere Artikel zu vier häufig verwendeten Beispielen für .NET SQLHELPER-Methoden finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn