今天復習了一次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語句參數添加到cmd19 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語句參數添加到cmd37 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類的方法,并把結果賦值到dataGridView4 dataGridView1.DataSource = sqlhelper.ExecuteDataTable("select Name from T_Test");5 }
3.運行窗體,顯示的結果就是從數據庫查詢到的數據了
這是我今天復習過的覺得是的重點,雖然很菜啊,這是我第一次寫帶有代碼的博客,自己終于走出這一步,自己以后也會多寫博客,分享自己學習中的點點滴滴。
大神不要噴哈......
|
新聞熱點
疑難解答