国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

ADO.NET復(fù)習(xí)——自己編寫SqlHelper類

2019-11-14 16:12:35
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

今天復(fù)習(xí)了一次ADO.NET基礎(chǔ),整理一下自己的認(rèn)為的重點(diǎn):

編寫SqlHelper類,方便我們執(zhí)行數(shù)據(jù)庫(kù)語(yǔ)句,這時(shí)可以直接調(diào)用封裝在SqlHelper類的方法。現(xiàn)在大多數(shù)公司面試的時(shí)候,給你的面試題都會(huì)要你自己手寫一個(gè)SqlHelper的類,這考的是自己的基本功,如果一個(gè)根基不牢固的開(kāi)發(fā)人員,你寫的代碼肯定好不到哪里去。

 

下面是SqlHelper的演示代碼,一定要熟練:

 1 public static SqlHelper 2  { 3          //這里定義一個(gè)字符串變量,把數(shù)據(jù)庫(kù)連接字符串賦值給它,也可以把連接字符串添加到配置文件,這樣整個(gè)項(xiàng)目可以方便訪問(wèn),這里為了清楚直接賦值到字符串變量 4          static string connStr = "Data Source=127.0.0.1//SQL2012; Initial Catalog=Test;User ID=test;PassWord=test"; 5   6   7          //執(zhí)行查詢語(yǔ)句并返回一個(gè)內(nèi)存中的數(shù)據(jù)表 8          public DataTable ExecuteDataTable(string sql,params SqlParameter[] parameters) 9              //因?yàn)椴淮_定SQL語(yǔ)句的參數(shù)有幾個(gè),所以使用了長(zhǎng)度可變參數(shù),但必須放到后面10         {11 12             using (SqlConnection conn = new SqlConnection(connStr))//到數(shù)據(jù)庫(kù)的連接13             {14                 conn.Open();//打開(kāi)數(shù)據(jù)庫(kù)連接15                 using (SqlCommand cmd = conn.CreateCommand())//創(chuàng)建執(zhí)行對(duì)象16                 {17                     cmd.CommandText = sql;//給cmd賦值SQL語(yǔ)句18                     cmd.Parameters.AddRange(parameters);//把SQL語(yǔ)句參數(shù)添加到cmd19                     DataSet dataset = new DataSet();//新建DataSet對(duì)象,用于保存查詢結(jié)果20                     SqlDataAdapter adapter = new SqlDataAdapter(cmd);//把執(zhí)行cmd,更新數(shù)據(jù)結(jié)果到adapter對(duì)象21                     adapter.Fill(dataset);//adapter對(duì)象的Fill方法把結(jié)果添加到DataSet對(duì)象中22                     return dataset.Tables[0];//返回一個(gè)查詢結(jié)果的一個(gè)表23                 }24             }25         }26 27         //執(zhí)行查詢語(yǔ)句返回結(jié)果集合的第一行第一列28         public Object ExecuteScalar(string sql,params SqlParameter[] parameters)29         {30             using(SqlConnection conn = new SqlConnection(connStr))//到數(shù)據(jù)庫(kù)的連接31             {32                 conn.Open();//打開(kāi)數(shù)據(jù)庫(kù)連接33                 using(SqlCommand cmd = conn.CreateCommand())//創(chuàng)建執(zhí)行對(duì)象34                 {35                     cmd.CommandText=sql;//給cmd賦值SQL語(yǔ)句36                     cmd.Parameters.AddRange(parameters);//把SQL語(yǔ)句參數(shù)添加到cmd37                     return cmd.ExecuteScalar();//執(zhí)行查詢,返回查詢結(jié)果的第一行的第一列38                 }39             }40         }41 42         //執(zhí)行參數(shù)化SQL語(yǔ)句,返回受影響的行數(shù)43         public int ExecuteNonQuery(string sql,params SqlParameter[] parameters)44         {45 46             using (SqlConnection conn = new SqlConnection(connStr))//到數(shù)據(jù)庫(kù)的連接47             {48                 conn.Open();//打開(kāi)數(shù)據(jù)庫(kù)連接49                 using(SqlCommand cmd= conn.CreateCommand())//創(chuàng)建執(zhí)行對(duì)象50                 {51                     cmd.CommandText= sql;//給cmd賦值SQL語(yǔ)句52                     cmd.Parameters.AddRange(parameters);//添加SQL語(yǔ)句中的參數(shù)53                     return cmd.ExecuteNonQuery();//執(zhí)行數(shù)據(jù)庫(kù)語(yǔ)句并返回受影響的行數(shù)54                 }55             }56         }57 }

 

 

 

二、上面的SqlHelper類創(chuàng)建好了我們就可以在項(xiàng)目里面調(diào)用了,下面演示調(diào)用代碼:

調(diào)用SqlHerlper類E的方法插入數(shù)據(jù):

 1     class PRogram 2     { 3         static void Main(string[] args) 4         { 5             //輸入數(shù)據(jù) 6             Console.WriteLine("請(qǐng)輸入要保存到數(shù)據(jù)庫(kù)的名字:"); 7             string name = Console.ReadLine(); 8             Console.WriteLine("請(qǐng)輸入年齡:"); 9             int age = Console.ReadLine();10 11             //調(diào)用ExecuteNonQuery(string sql,params SqlParameter[] parameters)函數(shù),用于將獲取的的數(shù)據(jù)插入到數(shù)據(jù)庫(kù)12             int rows = sqlhelper.ExecuteNonQuery("insert into T_Test(Name,Age) vaules(@Name,@Age)", new SqlParameter("@Name", name), new SqlParameter("@Age", age));13 14             Console.WriteLine("成功插入{0}條數(shù)據(jù)", rows);//顯示執(zhí)行結(jié)果15             Console.ReadKey();16         }17 18     }

 

刪除數(shù)據(jù)

 1  1     class Program 2  2     { 3  3         static void Main(string[] args) 4  4         { 5  5             string name = "張三"; 6  6  7  7             int result = sqlhelper.ExecuteNonQuery("delete from T_Test where Name=@Name", new SqlParameter("@Name", name));//刪除名字叫張三的數(shù)據(jù) 8  8             Console.WriteLine("成功刪除{0}數(shù)據(jù).", result); 9  9 10 10             Console.ReadKey();11 11         }12 13     }


查詢數(shù)據(jù)

1. 創(chuàng)建一個(gè)winform窗體,放一個(gè)控件dataGridView

2.在窗體的載入事件中添加調(diào)用SqlHelper類的方法,并把結(jié)果賦值到dataGridView,代碼如下:

1          private void Form1_Load(object sender, EventArgs e)2          {3              //在窗體的載入事件中添加調(diào)用SqlHelper類的方法,并把結(jié)果賦值到dataGridView4              dataGridView1.DataSource = sqlhelper.ExecuteDataTable("select Name from T_Test");5          }

 

3.運(yùn)行窗體,顯示的結(jié)果就是從數(shù)據(jù)庫(kù)查詢到的數(shù)據(jù)了

 

 

這是我今天復(fù)習(xí)過(guò)的覺(jué)得是的重點(diǎn),雖然很菜啊,這是我第一次寫帶有代碼的博客,自己終于走出這一步,自己以后也會(huì)多寫博客,分享自己學(xué)習(xí)中的點(diǎn)點(diǎn)滴滴。

大神不要噴哈......

 


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 商河县| 固镇县| 天等县| 黄骅市| 竹北市| 海南省| 桦南县| 马尔康县| 武穴市| 文成县| 从江县| 宝兴县| 左贡县| 万宁市| 榆树市| 昌江| 峨眉山市| 郎溪县| 廊坊市| 虹口区| 西藏| 黄冈市| 达日县| 金昌市| 江西省| 南开区| 长兴县| 和龙市| 岳池县| 鲜城| 文水县| 临洮县| 深水埗区| 丹江口市| 恩施市| 泾川县| 东港市| 河源市| 永川市| 涞源县| 三明市|