亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

菜鳥學習Ado.net筆記一:Ado.net學習之SqlHelper類

2019-11-14 15:51:51
字體:
來源:轉載
供稿:網友
  1 using System;  2 using System.Collections.Generic;  3 using System.Text;  4 using System.Data.SqlClient;  5 using System.Data;  6 using Microsoft.Win32;  7   8 namespace SqlHelp  9 { 10     /// <summary> 11     /// 定義SqlParameter所需的參數對象 12     /// </summary> 13     public class Parameter 14     { 15         /// <summary> 16         /// 參數集合構造函數 17         /// </summary> 18         /// <param name="paramname">參數名稱</param> 19         /// <param name="value">參數所對應的對象的值</param> 20         public Parameter(string paramname, object value) 21         { 22             this.ParamName = paramname; 23             this.Obj = value; 24         } 25         /// <summary> 26         /// 參數名稱 27         /// </summary> 28         public string ParamName 29         { 30             get; 31             set; 32         } 33         /// <summary> 34         /// 參數名稱所對應的對象的值 35         /// </summary> 36         public object Obj 37         { 38             get; 39             set; 40         } 41     } 42     /// <summary> 43     /// SqlHelper  ^_^ ! 44     /// </summary> 45     public class SqlHelper 46     { 47         /// <summary> 48         /// 連接字符串字段 49         /// </summary> 50         PRivate static string connStr; 51  52         /// <summary> 53         /// SQL連接字符串屬性 54         /// </summary>        55         public static string ConnStr 56         { 57             get { return SqlHelper.connStr; } 58             set { SqlHelper.connStr = value; } 59         } 60  61         private static SqlParameter[] GetSqlParameterToArr(List<Parameter> listP) 62         { 63             List<SqlParameter> list = new List<SqlParameter>(); 64             foreach (var item in listP) 65             { 66                 list.Add(new SqlParameter(item.ParamName, item.Obj)); 67             } 68             return list.ToArray(); 69         } 70  71         /// <summary> 72         /// 執行TSQL 語句并返回受影響的行 73         /// </summary> 74         /// <param name="sql">需要執行的sql語句</param> 75         /// <returns></returns> 76  77         public static int ExecuteNonQuery(string sql) 78         { 79             try 80             { 81                 using (SqlConnection conn = new SqlConnection(connStr)) 82                 { 83                     conn.Open(); 84                     using (SqlCommand cmd = conn.CreateCommand()) 85                     { 86                         cmd.CommandText = sql; 87                         return cmd.ExecuteNonQuery(); 88                     } 89                 } 90             } 91             catch (Exception ex) 92             { 93                 throw new Exception(ex.Message); 94             } 95         } 96  97         /// <summary> 98         /// 執行TSQL 語句并返回受影響的行  99         /// </summary>100         /// <param name="sql">需要執行的sql語句</param>101         /// <param name="paramList">參數的泛型集合</param>102         /// <returns></returns>103         public static int ExecuteNonQuery(string sql, List<Parameter> paramList)104         {105             try106             {107                 using (SqlConnection conn = new SqlConnection(connStr))108                 {109                     conn.Open();110                     using (SqlCommand cmd = conn.CreateCommand())111                     {112                         cmd.CommandText = sql;113                         cmd.Parameters.AddRange(GetSqlParameterToArr(paramList));114                         return cmd.ExecuteNonQuery();115                     }116                 }117             }118             catch (Exception ex)119             {120                 throw new Exception(ex.Message);121             }122         }123 124 125         /// <summary>126         /// 執行查詢,并返回查詢所返回的結果集中第一行的第一列 127         /// </summary>128         /// <param name="sql">需要執行的sql語句</param>129         /// <returns></returns>130 131         public static object ExecuteScalar(string sql)132         {133             try134             {135                 using (SqlConnection conn = new SqlConnection(connStr))136                 {137                     conn.Open();138                     using (SqlCommand cmd = conn.CreateCommand())139                     {140                         cmd.CommandText = sql;141                         return cmd.ExecuteScalar();142                     }143                 }144             }145             catch (Exception ex)146             {147                 throw new Exception(ex.Message);148             }149         }150         /// <summary>151         /// 執行查詢,并返回查詢所返回的結果集中第一行的第一列 152         /// </summary>153         /// <param name="sql">需要執行的sql語句</param>154         /// <param name="paramList">參數的泛型集合</param>155         /// <returns></returns>156         public static object ExecuteScalar(string sql, List<Parameter> paramList)157         {158             try159             {160                 using (SqlConnection conn = new SqlConnection(connStr))161                 {162                     conn.Open();163                     using (SqlCommand cmd = conn.CreateCommand())164                     {165                         cmd.CommandText = sql;166                         cmd.Parameters.AddRange(GetSqlParameterToArr(paramList));167                         return cmd.ExecuteScalar();168                     }169                 }170             }171             catch (Exception ex)172             {173                 throw new Exception(ex.Message);174             }175         }176 177 178         /// <summary>179         /// 返回已經填充結果的DataSet 180         /// </summary>181         /// <param name="sql">需要執行的sql語句</param>182         /// <returns></returns>183 184         public static DataSet ExecuteDataSet(string sql)185         {186             try187             {188                 using (SqlConnection conn = new SqlConnection(connStr))189                 {190                     conn.Open();191                     using (SqlCommand cmd = conn.CreateCommand())192                     {193                         cmd.CommandText = sql;194                         SqlDataAdapter adapter = new SqlDataAdapter(cmd);195                         DataSet dataset = new DataSet();196                         adapter.Fill(dataset);197                         return dataset;198                     }199                 }200             }201             catch (Exception ex)202             {203                 throw new Exception(ex.Message);204             }205         }206 207         /// <summary>208         /// 返回已經填充結果的DataSet 209         /// </summary>210         /// <param name="sql">需要執行的sql語句</param>211         /// <param name="paramList">參數的泛型集合</param>212         /// <returns></returns>213         public static DataSet ExecuteDataSet(string sql, List<Parameter> paramList)214         {215             try216             {217                 using (SqlConnection conn = new SqlConnection(connStr))218                 {219                     conn.Open();220                     using (SqlCommand cmd = conn.CreateCommand())221                     {222                         cmd.CommandText = sql;223                         cmd.Parameters.AddRange(GetSqlParameterToArr(paramList));224                         SqlDataAdapter adapter = new SqlDataAdapter(cmd);225                         DataSet dataset = new DataSet();226                         adapter.Fill(dataset);227                         return dataset;228                     }229                 }230             }231             catch (Exception ex)232             {233                 throw new Exception(ex.Message);234             }235         }236 237 238         /// <summary>239         /// 返回查詢結果集所返回的字段值的泛型集合 240         /// </summary>241         /// <param name="sql">需要執行的sql語句</param>242         /// <returns></returns>243 244         public static List<object> ExecuteReader(string sql)245         {246             List<object> obj = new List<object>();247             try248             {249                 using (SqlConnection conn = new SqlConnection(connStr))250                 {251                     conn.Open();252                     using (SqlCommand cmd = conn.CreateCommand())253                     {254                         cmd.CommandText = sql;255                         using (SqlDataReader reader = cmd.ExecuteReader())256                         {257                             while (reader.Read())258                             {259                                 for (int i = 0; i < reader.FieldCount; i++)260                                 {261                                     obj.Add(reader.IsDBNull(i) ? "空值" : reader.GetValue(i));262                                 }263                             }264                             return obj;265                         }266                     }267                 }268             }269             catch (Exception ex)270             {271                 throw new Exception(ex.Message);272             }273         }274 275 276         /// <summary>277         /// 返回查詢結果集所返回的字段值的泛型集合 278         /// </summary>279         /// <param name="sql">需要執行的sql語句</param>280         /// <param name="paramList">參數的泛型集合</param>281         /// <returns></returns>282         public static List<object> ExecuteReader(string sql, List<Parameter> paramList)283         {284             List<object> obj = new List<object>();285             try286             {287                 using (SqlConnection conn = new SqlConnection(connStr))288                 {289                     conn.Open();290                     using (SqlCommand cmd = conn.CreateCommand())291                     {292                         cmd.CommandText = sql;293                         cmd.Parameters.AddRange(GetSqlParameterToArr(paramList));294                         using (SqlDataReader reader = cmd.ExecuteReader())295                         {296                             while (reader.Read())297                             {298                                 for (int i = 0; i < reader.FieldCount; i++)299                                 {300                                     obj.Add(reader.IsDBNull(i) ? "空值" : reader.GetValue(i));301                                 }302                             }303                             return obj;304                         }305                     }306                 }307             }308             catch (Exception ex)309             {310                 throw new Exception(ex.Message);311             }312         }313 314 315         /// <summary>316         /// 獲取SqlServer數據庫實例名數組 317         /// </summary>318         /// <returns></returns>319         public static string[] GetInstances()320         {321             RegistryKey reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE/Microsoft/Microsoft SQL Server");322             string[] instances = (string[])reg.GetValue("InstalledInstances", "");323             try324             {325                 if (instances.Length > 0)326                 {327                     for (int i = 0; i < instances.Length; i++)328                     {329                         if (instances[i] == "MSSQLSERVER")330                         {331                             instances[i] = System.Environment.MachineName;332                         }333                         else334                         {335                             instances[i] = System.Environment.MachineName + @"/" + instances[i];336                         }337                     }338                 }339                 return instances;340             }341             catch (Exception ex)342             {343                 throw new Exception(ex.Message);344             }345         }346     }347 }

測試:
1、獲取實例

窗體拖入ComboBox控件,設置name值為cbx_server

引入SqlHelper

using SqlHelp

窗體load事件加入:

 1 cbx_server.Items .AddRange ( GetInstances()); 

2、執行帶參數查詢方法

窗體拖入按鈕,name為Bt_Test,并且拖入TextBox控件,name值為txt_Param

引入SqlHelper

using SqlHelp

在按鈕點擊事件中加入:

 1         private void Bt_Test_Click(object sender, EventArgs e) 2         { 3             SqlHelper.ConnStr = @"Data Source=localhost;Initial Catalog=UFsystem;Integrated Security=True"; 4             Parameter param = new Parameter("@id", txt_Param.Text); 5             List<Parameter> list = new List<Parameter>(); 6             list.Add(param); 7             List<object> obj = SqlHelper.ExecuteReader(@"select * from ua_user where cuser_id=@id", list); 8             foreach (var item in obj) 9             {10                 Console.WriteLine(item);11             }12         }

輸出:

admin
admin
空值
True
空值
空值
空值
空值

正在學習c#,有什么地方不對或不合適的請指教。

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品视频yy9099| 91国语精品自产拍在线观看性色| 亚洲欧美日韩中文在线| 91成人在线播放| 久久久成人的性感天堂| 538国产精品视频一区二区| 成人黄在线观看| 精品激情国产视频| 国产精品网站视频| 日本伊人精品一区二区三区介绍| 中文字幕精品www乱入免费视频| 久久久国产精品免费| 精品国产91久久久久久老师| 国产成人自拍视频在线观看| 黑人狂躁日本妞一区二区三区| 国产欧美中文字幕| 欧美精品免费播放| 欧美一级在线亚洲天堂| 青青久久av北条麻妃海外网| 日韩欧美福利视频| 国产在线精品自拍| 尤物99国产成人精品视频| 国产自产女人91一区在线观看| 欧美性在线视频| 亚洲欧美国产精品专区久久| 久久国产精品偷| 欧美有码在线观看视频| 亚洲精品国产suv| 国内免费精品永久在线视频| 欧美激情在线狂野欧美精品| 一本一道久久a久久精品逆3p| 欧美视频在线视频| 日韩av免费看网站| 久久精视频免费在线久久完整在线看| 亚洲精品视频在线播放| 久久精品最新地址| 91色在线观看| 国产91精品久久久| 国产一区二区免费| 国产香蕉97碰碰久久人人| 国产成人小视频在线观看| 538国产精品视频一区二区| 亚洲欧美国产另类| 亚洲男人av在线| 欧美极品美女视频网站在线观看免费| 色哟哟亚洲精品一区二区| 欧美视频精品一区| 上原亚衣av一区二区三区| 色99之美女主播在线视频| 成人综合国产精品| 亚洲男人天堂手机在线| 国产福利视频一区| 欧美日韩ab片| 国产精品1区2区在线观看| 欧美日韩国产在线播放| 国产精品视频精品| 久久99亚洲热视| 欧美激情亚洲激情| 精品国产视频在线| 日本成熟性欧美| 色偷偷噜噜噜亚洲男人的天堂| 国产精品久久久久久久久久久久| 精品久久久一区二区| 亚洲国产成人精品久久| 久久久999精品视频| 国产精品丝袜久久久久久不卡| 久久精品视频亚洲| 国产成人亚洲综合91精品| 久久亚洲成人精品| 久久精品色欧美aⅴ一区二区| 欧美激情xxxxx| 国产一区二区三区视频免费| 国产欧美精品一区二区三区-老狼| 亚洲国产中文字幕久久网| 亚洲第一视频网站| 91精品久久久久久久久久另类| 亚洲天堂av高清| 在线观看视频99| 国产中文字幕亚洲| 国产精品白嫩美女在线观看| 亚洲成人精品久久| 欧美黑人国产人伦爽爽爽| 国产精品成人免费视频| 91精品国产综合久久香蕉的用户体验| 亚洲精品国精品久久99热一| 色偷偷88888欧美精品久久久| 岛国精品视频在线播放| 综合久久五月天| 美女少妇精品视频| 日韩最新av在线| 狠狠色噜噜狠狠狠狠97| 97碰在线观看| 精品性高朝久久久久久久| 91丨九色丨国产在线| 中文字幕国产日韩| 91极品视频在线| 亚洲夜晚福利在线观看| 国产精品偷伦免费视频观看的| 色偷偷av亚洲男人的天堂| 午夜精品视频在线| 欧美极品美女电影一区| 91超碰caoporn97人人| 日日狠狠久久偷偷四色综合免费| 欧美壮男野外gaytube| 日韩麻豆第一页| 蜜月aⅴ免费一区二区三区| 国产精品欧美日韩| 欧美肥婆姓交大片| 久久的精品视频| 国产精品视频久久久久| 欧美激情中文字幕乱码免费| 国产精品久久久久99| 日韩av色综合| 亚洲欧洲中文天堂| 日韩av中文字幕在线免费观看| 久久人人爽人人爽人人片av高清| 日韩性xxxx爱| 欧美日韩在线观看视频小说| 久久久av亚洲男天堂| 日韩电影大全免费观看2023年上| 亚洲天堂视频在线观看| 91精品久久久久久久久| 成人国产精品久久久久久亚洲| 91牛牛免费视频| 一区二区福利视频| 欧美中文字幕精品| 日韩欧美中文在线| 久久免费观看视频| 欧美激情亚洲另类| 日韩av男人的天堂| 国产成人精品国内自产拍免费看| 日韩国产精品亚洲а∨天堂免| 亚洲国产另类 国产精品国产免费| 国产主播欧美精品| 中文字幕久久精品| www.国产一区| 成人综合国产精品| 亚洲a级在线播放观看| 久久久99免费视频| 欧美视频在线观看 亚洲欧| 日韩电影中文 亚洲精品乱码| 久久99国产综合精品女同| 国产亚洲视频在线观看| 久久亚洲综合国产精品99麻豆精品福利| 日韩精品免费一线在线观看| 欧美午夜激情小视频| 日韩欧美亚洲国产一区| 在线播放日韩专区| 久99久在线视频| 日韩一区二区在线视频| 国产精品爱久久久久久久| 欧美成人激情视频免费观看| 2019亚洲日韩新视频| 国产精品九九久久久久久久| 久久久久久亚洲精品中文字幕| 理论片在线不卡免费观看| 亚洲四色影视在线观看| 亚洲美女免费精品视频在线观看| 亚洲区在线播放| 国产99久久精品一区二区永久免费| 亚洲伦理中文字幕| 97精品久久久中文字幕免费| 中文字幕在线国产精品| 国产精品揄拍500视频|