成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

走進ADO.NET的世界

開發 后端
今天我們要從最簡單的角度切入,為大家講述ADO.NET的世界,這個鏈接.NET開發平臺和數據庫平臺的橋梁。

ADO.NET通過封裝一些對象來實現C#與數據庫的連接,其實就是一個橋梁。

下面先通過SQL Server來看ADO.NET是怎么樣具體連接數據庫的。

首先看一下在Visual Studio中創建數據庫(Visual Studio內置一個數據庫服務器)

在視圖上打開服務器資源管理器,在Visual Studio左邊會看到

右鍵數據庫連接,創建數據庫

其中的“.”代表本地服務器,新創建的數據名字PersonDB,創建一個人Persons表,三個字段ID整形自動增長為主鍵,一個PersonName,nvarchar(15),存儲人的姓名,PersonAge整形存儲人的年紀。好了表創建好了,接下來就看看怎樣把它同程序進行連接,來實現數據庫的增刪改查。

創建一個windowForm程序,界面如下:

我們先來實現添加操作,首先引用命名空間:using System.Data.SqlClient;

首先先來連接數據庫,通過SqlConnection創建連接對象。

 

  1. SqlConnection con = new SqlConnection();//創建連接對象 

要想連接數據庫,首先要知道你是要連接哪一個服務器,數據庫名稱等等。

 

  1. con.ConnectionString = "server=.;database=persondb;uid=sa;pwd=sa";
  2. //分別表示服務器名稱、數據庫名稱、登錄用戶名及密碼 

接下來創建sql命令對象:

  1. SqlCommand cmd = con.CreateCommand();//sql命令對象,表示要對sql數據庫執行一個sql語句  
  2. cmd.CommandText = "insert into persons(personname,personage) values(@name,@age)";
  3. //sql語句@name,@age表示兩個參數  
  4. cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = textBox1.Text;
  5. //給參數賦值,并指定類型  
  6. cmd.Parameters.Add("@age", SqlDbType.Int).Value = textBox2.Text;  
  7. con.Open();//打開連接  
  8. cmd.ExecuteNonQuery();
  9. //執行不是查詢的sql語句  
  10. MessageBox.Show("插入成功!"); 

打開數據庫連接一定要記得關閉連接:

  1. catch (Exception ex)//由于sql語句對半全角很敏感,捕捉異常  
  2. {  
  3. MessageBox.Show(ex.Message);  
  4. }  
  5. finally  
  6. {  
  7. con.Close();//不管打開成功還是失敗,都能關閉連接  

好了,到這一步插入操作做完了,接下來看一下能不能往表中插入數據。

點擊添加,我們去Persons表中看一下有沒有成功插入數據

我們看到“張三”被成功添加進去了,我們再來多添加幾條數據。

接下來看一下查詢操作怎么做,其實和插入操作沒多大區別,只是多了一個SqlDataReader讀者對象:下面來看一下源代碼:

 

  1. try  
  2. {  
  3. con.ConnectionString = "server=.;database=persondb;uid=sa;pwd=sa";
  4. //分別表示服務器名稱、數據庫名稱、登錄用戶名及密碼  
  5. SqlCommand cmd = con.CreateCommand();  
  6. cmd.CommandText = "select id,personname,personage from persons";
  7. //查詢所有  
  8. con.Open();  
  9. SqlDataReader dr = cmd.ExecuteReader();//提供一種從 SQL Server 數據庫讀取行的只進流的方式  
  10. listBox1.Items.Clear();//清除listbox數據  
  11. comboBox1.Items.Clear();//清除combox數據  
  12. while (dr.Read())//一行一行讀取數據,返回值是bool類型  
  13. {  
  14. listBox1.Items.Add("姓名:"+dr.GetValue(1).ToString() + " 年齡:"+dr.GetValue(2).ToString());  
  15. comboBox1.Items.Add(dr.GetValue(0));//把ID放到combox中,方便刪除及修改  
  16. }  
  17. dr.Close();//關閉讀取流操作  
  18. }  
  19. catch (Exception ex)  
  20. {  
  21. MessageBox.Show(ex.Message);  
  22. }  
  23. finally  
  24. {  
  25. con.Close();  

 

來看一下查詢結果:

接下來在來實現刪除操作,和插入幾乎一樣,先從數據庫中查詢出所有數據,獲得它們的ID(都放到combox里面了)

下面看一下具體實現:

  1. try  
  2. {  
  3. con.ConnectionString = "server=.;database=persondb;uid=sa;pwd=sa";  
  4. SqlCommand cmd = con.CreateCommand();  
  5. con.Open();  
  6. cmd.CommandText = "delete persons where id=@id";//刪除語句,已ID為條件刪除  
  7. cmd.Parameters.Add("@id", SqlDbType.Int).Value =comboBox1.Text;  
  8. cmd.ExecuteNonQuery();  
  9. }  
  10. catch (Exception ex)  
  11. {  
  12. MessageBox.Show(ex.Message);  
  13. }  
  14. finally  
  15. {  
  16. con.Close();  

先查詢,

選擇刪除ID,

點擊刪除,再來查詢一下

我們看到朱重八被刪除了。

最后來做修改,這個比較麻煩,首先要修獲得要修改的數據,先獲得所有數據,在通過ID來實現查詢當個數據,然后在確定修改

看修改查詢代碼:

  1. try  
  2. {  
  3. con.ConnectionString = "server=.;database=persondb;uid=sa;pwd=sa";  
  4. SqlCommand cmd = con.CreateCommand();  
  5. cmd.CommandText = "select personname,personage from persons where id=@id";  
  6. cmd.Parameters.Add("@id",SqlDbType.Int).Value = comboBox1.Text;  
  7. con.Open();  
  8. SqlDataReader dr = cmd.ExecuteReader();  
  9. dr.Read();//因為只讀一條數據,就不用while循環  
  10. textBox1.Text = dr.GetValue(0).ToString();  
  11. textBox2.Text = dr.GetValue(1).ToString();  
  12. dr.Close();  
  13. }  
  14. catch (Exception ex)  
  15. {  
  16. MessageBox.Show(ex.Message);  
  17. }  
  18. finally  
  19. {  
  20. con.Close();  

再來看一下確定修改代碼:

  1. try  
  2. {  
  3. con.ConnectionString = "server=.;database=persondb;uid=sa;pwd=sa";  
  4. SqlCommand cmd = con.CreateCommand();  
  5. con.Open();  
  6. cmd.CommandText = "update persons set personname=@name,personage=@age where id=@id";  
  7. cmd.Parameters.Add("@id", SqlDbType.Int).Value = comboBox1.Text;  
  8. cmd.Parameters.Add("@name",SqlDbType.NVarChar).Value=textBox1.Text;  
  9. cmd.Parameters.Add("@age", SqlDbType.NVarChar).Value = textBox2.Text;  
  10. cmd.ExecuteNonQuery();  
  11. }  
  12. catch (Exception ex)  
  13. {  
  14. MessageBox.Show(ex.Message);  
  15. }  
  16. finally  
  17. {  
  18. con.Close();  

好了,我們先查詢全部信息,在通過ID獲得修改信息

把名字改成,七匹馬,確定修改,再來查詢一下是否修改成功

現在可以看到修改成功了。

到這里,基礎性的東西都講完了,還有SqlDataAdapter,DataTable類,下次在講。

鏈接:http://www.cnblogs.com/wjfluisfigo/archive/2010/05/23/1742034.html

責任編輯:彭凡 來源: 博客園
相關推薦

2009-11-13 16:19:22

ADO.NET教程

2011-05-20 11:31:07

ADO.NET

2009-12-28 15:11:36

ADO.NET專家

2009-11-03 16:37:10

2009-09-14 13:37:25

LINQ ADO.NE

2010-01-04 10:48:30

ADO.NET特色

2009-07-06 10:43:51

ADO.NET

2009-11-12 09:51:59

ADO.NET結構

2009-11-12 13:53:27

ADO.NET Sel

2009-12-18 14:37:56

ADO.NET模型

2009-09-09 10:23:59

ADO.NET連接

2009-11-11 14:27:32

ADO.NET函數

2009-11-04 12:45:33

ADO.NET Dat

2009-11-03 17:25:59

ADO.NET編程技巧

2009-11-12 10:32:47

ADO.NET技術

2009-11-12 14:37:26

ADO.NET結構

2009-10-29 13:34:01

ADO.NET對象

2009-11-12 13:26:56

使用ADO.NET參數

2009-12-29 16:12:25

ADO程序員

2009-12-31 16:09:22

ADO與ADO.NET
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品久久久久久宅男 | 能看的av | 一区二区三区视频在线免费观看 | 最新日韩在线视频 | 91精品国产乱码久久久久久久久 | 久久不卡日韩美女 | 国外成人在线视频 | 亚洲aⅴ精品 | 日韩综合在线 | 亚洲成人中文字幕 | 在线观看第一页 | www.久久久久久久久 | 在线国产小视频 | 国产高清一区 | 亚洲91 | 欧美精品网站 | 国产日韩免费视频 | 亚洲精品欧美 | 精品一级电影 | 国产精品国产三级国产aⅴ浪潮 | 日韩久久精品视频 | 黄网站在线观看 | 一区二区福利视频 | 91精品国产91久久久久久最新 | 中文字幕在线视频免费视频 | 天天干天天爽 | 一级欧美一级日韩片 | 一区二区三区在线 | 欧 | 午夜精品久久久 | 欧美日韩精品中文字幕 | 日韩精品一区二区久久 | 国产农村妇女精品一二区 | 久久草视频 | 中文字幕一区二区三区不卡 | 国产精品视频偷伦精品视频 | 草久免费视频 | 久久草视频 | 亚洲国产高清高潮精品美女 | 国产成人一区二区三区久久久 | 欧美一区二区三区一在线观看 | 欧美精品一区在线发布 |