ADO.NET復習——自己編寫SqlHelper類


今天復習了一次ADO.NET基礎,整理一下自己的認為的重點:

編寫SqlHelper類,方便我們執行數據庫語句,這時可以直接調用封裝在SqlHelper類的方法。現在大多數公司面試的時候,給你的面試題都會要你自己手寫一個SqlHelper的類,這考的是自己的基本功,如果一個根基不牢固的開發人員,你寫的代碼肯定好不到哪里去。

 

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

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

 

 

 

二、上面的SqlHelper類創建好了我們就可以在項目里面調用了,下面演示調用代碼:

調用SqlHerlper類E的方法插入數據:

 1     class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             //輸入數據
 6             Console.WriteLine("請輸入要保存到數據庫的名字:");
 7             string name = Console.ReadLine();
 8             Console.WriteLine("請輸入年齡:");
 9             int age = Console.ReadLine();
10 
11             //調用ExecuteNonQuery(string sql,params SqlParameter[] parameters)函數,用於將獲取的的數據插入到數據庫
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}條數據", rows);//顯示執行結果
15             Console.ReadKey();
16         }
17 
18     }

 

刪除數據

 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));//刪除名字叫張三的數據
 8  8             Console.WriteLine("成功刪除{0}數據.", result);
 9  9 
10 10             Console.ReadKey();
11 11         }
12 13     }


查詢數據

1. 創建一個winform窗體,放一個控件dataGridView

2.在窗體的載入事件中添加調用SqlHelper類的方法,並把結果賦值到dataGridView,代碼如下:

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

 

3.運行窗體,顯示的結果就是從數據庫查詢到的數據了

 

 

這是我今天復習過的覺得是的重點,雖然很菜啊,這是我第一次寫帶有代碼的博客,自己終於走出這一步,自己以后也會多寫博客,分享自己學習中的點點滴滴。

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM