一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - C#實現的封裝CURD到SqlHelper類用法簡單分析

C#實現的封裝CURD到SqlHelper類用法簡單分析

2022-02-10 15:24_Vincent C#

這篇文章主要介紹了C#實現的封裝CURD到SqlHelper類用法,涉及數據庫相關配置方法及SqlHelper類的簡單使用技巧,代碼中包含了較為詳盡的注釋便于理解,需要的朋友可以參考下

本文實例講述了C#實現的封裝CURD到SqlHelper類。分享給大家供大家參考,具體如下:

1、簡單說明一下,一般情況下,數據庫連接字符串是在App.config文件中進行配置,然后再在代碼中進行引用。因此,我們在這里先看一下App.config文件。

首先看需要添加的內容:

參數說明:

name:表示鍵值,在代碼中需要通過這鍵值來找到對應的連接字符串信息。

connectionString:鏈接數據庫的字符串信息。Server:數據庫服務器,Database:數據庫,uid:數據庫賬戶名,pwd:數據庫密碼

?
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
 <!--這個寫數據庫鏈接配置信息,自己手動添加,嚴格區分大小寫-->
 <connectionStrings>
  <add name="mssql" connectionString="Server=.;Database=db_test;uid=sa;pwd=123456"/>
 </connectionStrings>
 <!--這個寫數據庫鏈接配置信息,自己手動添加,嚴格區分大小寫-->
</configuration>

2、接下就是代碼了,介紹都在注釋里,直接看代碼吧。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;
using System.Data.SqlClient;
namespace SQLHelper
{
  /// <summary>
  /// 為了方便調用,一般將SqlHelper類寫為靜態類
  /// </summary>
  public static class SqlHelper
  {
    //需要添加引用--框架,System.Configuration,添加再using
    private static readonly string conStr = ConfigurationManager.ConnectionStrings["mssql"].ConnectionString;
    /// <summary>
    /// 封裝增加、刪、改方法,方法名可以隨便寫,但是為了方便查看,用了和SqlCommand類一一樣的方法名
    /// </summary>
    /// <param name="sql">SQL語句</param>
    /// <param name="pms">SQL參數,因為不知道會有多少個參數,所以用可變參數params</param>
    /// <returns>受影響的行數</returns>
    public static int ExecuteNonQuery(string sql, params SqlParameter[] pms)
    {
      using (SqlConnection conn = new SqlConnection(conStr))
      {
        using (SqlCommand cmd = new SqlCommand(sql, conn))
        {
          if (pms != null)
          {
            cmd.Parameters.AddRange(pms);
          }
          conn.Open();
          return cmd.ExecuteNonQuery();
        }
      }
    }
    /// <summary>
    /// 查詢單個結果,一般和聚合函數 一起使用
    /// </summary>
    /// <param name="sql">查詢的SQL語句</param>
    /// <param name="pms">SQL參數</param>
    /// <returns>返回查詢對象,查詢結果第一行第一列</returns>
    public static object ExecuteScalar(string sql, params SqlParameter[] pms)
    {
      using (SqlConnection conn = new SqlConnection(conStr))
      {
        using (SqlCommand cmd = new SqlCommand(sql, conn))
        {
          if (pms != null)
          {
            cmd.Parameters.AddRange(pms);
          }
          conn.Open();
          return cmd.ExecuteScalar();
        }
      }
    }
    /// <summary>
    /// 查詢多行
    /// </summary>
    /// <param name="sql">SQL語句</param>
    /// <param name="pms">SQL參數</param>
    /// <returns>返回SqlDataReader對象</returns>
    public static SqlDataReader ExcuteReader(string sql, params SqlParameter[] pms)
    {
      //這里不能用using,不然在返回SqlDataReader時候會報錯,因為返回時候已經在using中關閉了。
      //事實上,在使用數據庫相關類中,SqlConnection是必須關閉的,但是其他可以選擇關閉,因為CG回自動回收
      SqlConnection conn = new SqlConnection(conStr);
      using (SqlCommand cmd = new SqlCommand(sql, conn))
      {
        if (pms != null)
        {
          cmd.Parameters.AddRange(pms);
        }
        try
        {
          conn.Open();
          //傳入System.Data.CommandBehavior.CloseConnection枚舉是為了讓在外面使用完畢SqlDataReader后,只要關閉了SqlDataReader就會關閉對應的SqlConnection
          return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
        }
        catch
        {
          conn.Close();
          conn.Dispose();
          throw;
        }
      }
    }
  }
}

希望本文所述對大家C#程序設計有所幫助。

原文鏈接:http://www.cnblogs.com/linfenghp/p/7119148.html

延伸 · 閱讀

精彩推薦
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
主站蜘蛛池模板: 羞羞视频免费观看网站 | 偷拍自拍校园春色 | 32d乳白色的奶罩未删除 | 视频亚洲一区 | 欧美日韩一二三区免费视频观看 | 国产欧美日韩精品高清二区综合区 | 好 舒服 好 粗 好硬 好爽 | 国产精品高清视亚洲一区二区 | 情欲综合网 | 99r在线观看| 午夜一级影院 | 国产精品性视频免费播放 | 国产成人91高清精品免费 | 1024免费福利永久观看网站 | 精品性影院一区二区三区内射 | 亚洲剧情在线 | 香蕉免费一区二区三区在线观看 | 亚欧有色在线观看免费版高清 | 日本一二线不卡在线观看 | 青草国产 | 亚洲欧美日韩中文字幕久久 | 非洲黑人又大粗gay 非洲黑人bbwbbwbbw | 日本精品久久久久久久久免费 | 青草福利在线 | 性绞姿始动作动态图 | 草草国产成人免费视频 | 五月精品 | 国产大乳美女挤奶视频 | 4虎影视国产在线观看精品 4s4s4s4s色大众影视 | 69成人影院 | 91欧洲在线视精品在亚洲 | 免费国产在线视频 | 好大好长好紧爽免费 | 无码一区国产欧美在线资源 | 国产一二区视频 | 日本连裤袜xxxxx在线视频 | 无码人妻精品一区二区蜜桃在线看 | 手机在线观看国产精选免费 | 肉文高h文| 人人爽人人香蕉 | 成人毛片高清视频观看 |