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

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

ADO.NET數據庫

2019-11-14 15:46:56
字體:
來源:轉載
供稿:網友

asp.net提供了ADO.NET技術,它是ASP.NET應用程序與數據庫進行交互的一種技術。

ADO.NET技術把對數據庫的操作分為幾個步驟,并為每個步驟提供對象來封裝操作過程,從而使對數據庫的操作變得簡單易行。

ADO.NET組件通過以下兩個主要的組件將數據訪問與數據處理分離:

  1. ADO.NET體系結構的一個核心元素是.NET數據提供程序,它是專門為數據處理以及快速地只進、只讀訪問數據而設計的組件,包括Connection、Command、DataReader和DataAdapter對象的組件。

  2. DataSet是ADO.NET體系結構中另一個核心組件,它是專門為各種數據源的數據訪問獨立性而設計的,所以它可以用于多個不同的數據源、xml數據或管理應用程序的本地數據,如內存中的數據高速緩存。

基本的SQL

1.選擇數據

  SELECT語句語法:

    SELECT 列名1,列名2,列名3,...FROM 表名(SELECT * FROM 表名),例如:

      SELECT * FROM Student

      該SQL語句表示從Student表中選取所有的列。

    SELECT 列名1,列名2,列名3,...FROM 表名 ORDER BY 列名1 ASC/DESC,列名2 ASC/DESC,列名3 ASC/DESC...(ASC表示升序,DESC表示降序)

      SELECT * FROM Student ORDER BY StuName DESC。

      該SQL語句表示從Student表中選取所有的列并按照StuName降序排序。

    SELECT 列名1,列名2,列名3,...FROM 表名 WHERE子句 ORDER BY 列名1 ASC/DESC,列名2 ASC/DESC,列名3 ASC/DESC... (WHERE子句是條件子句,WHERE子句能夠對條件進行設置,只有滿足條件的行才會顯示到結果中)。

      SELECT * FROM Student WHERE StuClass=‘中藥一班’

    有時選擇條件不止一個,這時需要邏輯連接符把這些條件連接起來,常用的邏輯連接符有AND和OR,AND表示關系與,OR表示關系或。

      SELECT * FROM Student WHERE StuClass=‘中藥一班’OR StuClass=‘中藥二班’

2.插入數據

  INSERT INTO 表名(列名1,列名2,列名3,...) 

  VALUES(值1,值2,值3,...)

  向Student表中添加一條數據,SQL語句如下:

    INSERT INTO Student(StuName,StuClass,StuSex)

    VALUES(‘李瑩’,‘中藥三班’,‘女’)

  也可以采用下面的語句實現:

    INSERT INTO Student

    VALUES(‘李瑩’,‘中藥三班’,‘女’)

    此語句忽略了列名,此時會按照列在數據表中的排列順序逐個插入。在執行INSERT語句時值與列的數據類型必須一致,否則會報錯。

3.更新數據

  UPDATE 表名 SET

  列名1=值1,

  列名2=值2,

  ...

  WHERE子句

  更新Student表中的數據:

    UPDATE Student Set

    StuClass=“中藥四班”,

    WHERE StuName=“李瑩”

4.刪除數據

  DELETE FROM 表名 WHRER子句

在VS中執行數據查詢

  查詢數據可以使用SQL語句實現,也可以使用SQL SERVER提供的管理工具來生成和測試SQl語句。在VS中執行數據查詢的操作如下:

    1.在“服務器資源管理器”窗口中,找到“表”節點。

    2.右鍵單擊“表”節點,在彈出的菜單中選擇“新建查詢”。

    3.在彈出的“添加表”對話框中選擇要操作的表、視圖、函數、同義詞,單擊“添加”,在新建的查詢窗口中會顯示被選中的對象。

創建數據庫

  在編寫ASP.NET網站應用程序之前,首先要做的是設計和創建數據庫。

連接數據庫

  .NET Framework數據提供程序使用Connection對象提供與Microsoft SQL Server 的連接。

  SqlConnection連接字符串常用參數:

    1.Data Source:數據庫服務器的名稱。

    2.Initial Catalog:數據庫的名稱。

    3.Integrated Security:決定連接是否是安全的,取值可以是True、False或SSPI。

    4.User ID:SQL Server登錄帳戶。

    5.PassWord:SQL Server帳戶的登錄密碼。

創建數據庫連接

  

可以通過以下方式創建數據庫連接:

  1.使用Connection對象創建數據庫連接。

1 SqlConnection connection=new SqlConnection();2 connection.ConnectionString="server=localhost; Integrated Security=True;Initial Catalog=SuperMarket";
View Code

  2.使用連接字符串來初始化SqlConnection對象創建數據庫連接。

1 string connectionString = "Data Source=追風的蝸牛;Initial Catalog=Adrotator;Integrated Security=True";2 SqlConnection connection = new SqlConnection(connectionString);
View Code

  3.使用構造函數來初始化SqlConnection對象創建數據庫連接。

     構造函數

1 public class ConnectionString2 {3     public static string connectionString = "Data Source=追風的蝸牛;Initial Catalog=Adrotator;Integrated Security=True";4 }
View Code

  4.初始化SqlConnection對象,創建數據庫連接。

SqlConnection connection = new SqlConnection(ConnectionString.connectionString);
View Code

  5.獲取在配置文件中的<connectionStrings>節中利用鍵值對存儲的數據庫連接字符串,創建數據庫連接。

    利用鍵值對存儲數據庫連接字符串。

1 <connectionStrings >2     <add name="connection1" connectionString="Data Source=追風的蝸牛;Initial Catalog=Adrotator;Integrated Security=True"/>3 </connectionStrings>
View Code

    獲取配置文件中的數據庫連接字符串。

1 SqlConnection connection = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["connection1"].ConnectionString.ToString());
View Code

查看連接信息

 1             try 2             { 3                 connection.Open(); 4                 Response.Write("服務器版本:" + connection.ServerVersion.ToString()); 5                 Response.Write("<br>數據庫名稱:" + connection.Database.ToString()); 6                 Response.Write("<br>數據庫連接:" + connection.State.ToString()); 7                 connection.Close(); 8             } 9             catch (Exception ex)10             {11                 Response.Write("連接錯誤!" + ex.Message.ToString());12             }13             finally14             {15                 connection.Close();16    }    
View Code

獲取數據

1.Command對象

  Command對象使用SELECT、INSERT、UPDATE、DELETE等SQL命令與數據源通信,此外,Command對象還可以調用存儲過程操作數據庫。

  創建Command對象的方法:

    1.創建Command對象,指定SQL命令,設置可利用的數據庫連接。

1 SqlCommand command = new SqlCommand();2 command.Connection = connection;3 command.CommandText = "select * from Advertisements";
View Code

    

    2.在創建Command對象時指定SQL命令和可利用的數據庫連接。

1 SqlCommand command = new SqlCommand("select * from Advertisements", connection);
View Code

2.DataReader對象 

  可以使用DataReader從數據庫中檢索只讀、只進的數據流。“只讀”,是指在數據閱讀器DataReader上不可更新、刪除、增加記錄。“只進”是指記錄的接收是順序進行且不可后退的。

  數據閱讀器DataReader接收到的數據是以數據庫的記錄為單位的。查詢結果在查詢執行時返回,并存儲在客戶端的網絡緩沖區中,直到用戶使用DataReader的Read方法對它們發出請求。

  使用DataReader可以提高應用程序的性能,原因是它只要數據可用就立即檢索數據,并且在默認情況下一次只在內存中存儲一行,減少了系統開銷。

  在創建一個Command對象的實例之后,可以通過對命令調用ExecuteReader方法來創建DataReader,該方法從在Command對象中指定的數據源檢索一些行,填充DataReader。

  使用

    1.獲取數據并綁定到控件中。

      在Default.aspx中:

 1     <div> 2         <asp:Label ID="Label1" Text="請選擇:" runat="server" /> 3         <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"> 4             <asp:ListItem Text="請選擇" Enabled="true"></asp:ListItem> 5          </asp:DropDownList> 6         <br /> 7         <asp:Label ID="Label2" runat="server" Text="廣告的詳細信息:" /> 8         <br /> 9         <asp:Label ID="Label3" runat="server" Height="200" Width="300" />10     </div>
View Code

      在Default.aspx.sc中:

 1  PRotected void Page_Load(object sender, EventArgs e) 2  { 3        if (!this.IsPostBack) 4        { 5            SqlCommand command = new SqlCommand("select AlternateText,ID  from Advertisements", connection); 6             SqlDataReader dataReader; 7             try 8             { 9                 connection.Open();10                 dataReader = command.ExecuteReader();11 12                 while (dataReader.Read())13                 {14                     ListItem listItem = new ListItem();15                     listItem.Text = dataReader["AlternateText"].ToString();16                     listItem.Value = dataReader["ID"].ToString();17                     DropDownList1.Items.Add(listItem);18                 }19                 dataReader.Close();20             }21             catch (Exception ex)22             {23                 Label3.Text = "讀取失敗" + ex.Message.ToString();24             }25             finally26             {27                 connection.Close();28             }29         }30 }
View Code

    2.獲取控件數據信息并查詢。

      在Default.aspx.sc中:

 1         protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) 2         { 3             SqlConnection connection = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["connection1"].ConnectionString.ToString()); 4             string selectSql = "select * from Advertisements where ID='" + DropDownList1.SelectedItem.Value + "'";//定義SQL語句獲取廣告信息 5  6             SqlCommand command = new SqlCommand(selectSql, connection); 7             SqlDataReader dataReader; 8             try 9             {10                 connection.Open();11                 dataReader = command.ExecuteReader();12                 dataReader.Read();13                 string stringText;14                 stringText ="ID:"+ dataReader["ID"].ToString() + "<br>" +"圖片地址:"+ dataReader["ImageUrl"].ToString() + "<br>" +"鏈接地址:"+ dataReader["NavigateUrl"].ToString() + "<br>" +"顯示頻率:"+ dataReader["Impressions"].ToString() + "<br>" +"描述信息:"+ dataReader["AlternateText"].ToString();15                 Label3.Text = stringText.ToString();16                 dataReader.Close();17 18             }19             catch (Exception ex)20             {21                 Label3.Text = "讀取失敗" + ex.Message.ToString();22             }23             finally24             {25                 connection.Close();26             }27         }
View Code

3.DataAdapter對象

  DataAdapter對象充當數據庫和ADO.NET對象模型中非連接對象之間的橋梁,能夠用來保存和檢索數據。DataAdapter對象類的Fill方法用于將查詢結果引入DataSet或DataTable中,以便能夠脫機處理數據。根據不同的數據源DataAdapter對象,可以分為四類:

    1.SqlDataAdapter:用于對SQL Server數據庫執行命令。

    2.OleDBDataAdapter:用于對支持OleDB的數據庫執行命令。

    3.OdbcDataAdapter:用于支持Odbc的數據庫執行命令。

    4.OracleDataAdapter:用于對Oracle數據庫執行命令。

  使用SqlDataAdapter的步驟:

    1. 建立數據庫連接。

    2. 建立SqlCommand對象,設置要執行的SQL語句

    3. 建立并實例化一個SqlDataAdapter對象。

    4. 建立一個DataSet對象,用于接收執行SQL命令返回的數據集。

    5. 填充數據集。

    6. 綁定數據控件。

    7. 關閉數據庫連接。

4.DataSet對象

  DataSet在ADO.NET對實現從數據庫抽取數據起到關鍵作用,數據從數據庫完成數據抽取后存放在DataSet中,是各種數據源中的數據在計算機內存中映射成的緩存,從某種意義上可以把DataSet可以看成是一個數據容器。

  DataSet也被稱為內存中的數據庫,因為在DataSet可以包含很多數據表以及數據表之間的關系。

  DataSet在客戶端實現讀取、更新數據庫等過程中起到了中間部件的作用。

  DataSet從數據源中獲取數據后就會斷開與數據源之間的連接。允許在DataSet中定義數據約束和表關系,增加、刪除和編輯記錄,還可以對DataSet中的數據進行查詢、統計等。當完成了各項操作以后還可以把DataSet中的數據送回數據源。DataSet的產生滿足了多層分布式程序的需要,它能夠在斷開數據源的情況下對存放在內存中的數據進行操作,這樣可以提高系統整體性能,而且有利于擴展。

  創建DataSet的方式

  

    1.建立一個空的數據集,然后再把建立的數據表放到該數據集里。

      DataSet dataSet = new DataSet();

    2.先建立數據表,然后再建立包含數據表的數據集。

      DataSet dataSet = new DataSet(“表名”);

  DataSet中經常使用的類

    1.DataTable。稱為數據表,用來存放數據。一個Dataset對象可以包含多個DataTable,每個DataTable可以包含多個DataRow和DataColumn。

      它的創建方式有兩種:

        1.數據加載DataSet時會自動創建DataTable。

        2.以編程方式創建DataTable的對象,然后將對象添加到DataSet的Tables集合中。

      從DataSet中提取DataTable

        DataSet dataset=new DataSet();

        DataTable dataTable=dataset.數據表名

    2.DataRow。數據表里的行,是給定DataTable中的一行數據(記錄)。DataRow對象的方法提供了對表中數據的增加、刪除、更新、查詢等功能。

      提取表中的一行數據(記錄)

        DataRow dataRow=DataTable.Row[n];

    3.DataColumn。數據表中的列,定義了數據表的數據結構。

      獲取某列的值需要在數據行的基礎上進行

        string str=dataRow.Column[“字段名稱”].ToString();

         或string str=dataRow.Column[“索引”].ToString();

    4.DataRelation。

      使用DataRelation通過DataColumn對象將兩個DataTable對象相互關聯,此類關系類似于關系數據庫中的主鍵/外鍵關系。關系是在父表和子表中匹配的列之間創建的,兩個列的數據類型必須相同。

      創建DataRelation時,首先要驗證是否可以創建關系。在將它添加到DataRelationCollection之后,通過禁止會使關系無效的任何更改來維持此關系。在創建DataRelation和將其添加到DataRelationCollection之間的這段時間,可以對父行或子行進行其他更改,但是會使關系失效,會產生異常。

  使用

    在配置文件中添加以下內容:

1 <connectionStrings >2     <add name="connection1" connectionString="Data Source=追風的蝸牛;Initial Catalog=Adrotator;Integrated Security=True"/>3 </connectionStrings>
View Code

    在Default.aspx.cs中添加以下內容:

 1 <div> 2         <asp:Label ID="Label1" Text="請選擇:" runat="server" /> 3         <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"> 4             <asp:ListItem Text="請選擇" Enabled="true"></asp:ListItem> 5          </asp:DropDownList> 6         <br /> 7         <asp:Label ID="Label2" runat="server" Text="廣告的詳細信息:" /> 8         <br /> 9         <asp:Label ID="Label3" runat="server" Height="200" Width="300" />10 </div>
View Code

    Default.aspx.cs中的代碼如下:

 1 using System; 2 using System.Collections.Generic; 3 using System.Data; 4 using System.Data.SqlClient; 5 using System.Linq; 6 using System.Text; 7 using System.Web; 8 using System.Web.UI; 9 using System.Web.UI.WebControls;10 11 namespace Webapplication112 {13     public partial class Default : System.Web.UI.Page14     {15         private static DataSet dataSet = new DataSet();16         public class ConnectionString17         {18             public static string connectionString = "Data Source=追風的蝸牛;Initial Catalog=Adrotator;Integrated Security=True";19         }20 21         protected void Page_Load(object sender, EventArgs e)22         {23             if (!this.IsPostBack)24             {25                 fillList();26             }27         }28 29         protected void fillList()30         {31             SqlConnection connection = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["connection1"].ConnectionString.ToString());32             SqlCommand command = new SqlCommand("select * from Advertisements", connection);33             SqlDataAdapter dataAdapter = new SqlDataAdapter(command);34             //打開數據庫連接,讀取信息35             try36             {37                 connection.Open();38                 //填充Dataset39                 dataAdapter.Fill(dataSet, "Advertisements");40             }41             catch (Exception ex)42             {43                 Label3.Text = "讀取錯誤" + ex.Message.ToString();44             }45             finally46             {47                 connection.Close();48             }49             foreach (DataRow row in dataSet.Tables["Advertisements"].Rows)50             {51                 ListItem item = new ListItem();52                 item.Text = row["AlternateText"].ToString();53                 item.Value = row["ID"].ToString();54                 DropDownList1.Items.Add(item);55             }56         }57 58         protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)59         {60             try61             {62                 DataRow[] dataRow = dataSet.Tables["Advertisements"].Select("ID=" + DropDownList1.SelectedItem.Value);63                 string stringText = "ID:" + dataRow[0]["ID"].ToString() + "<br/>圖片地址:" + dataRow[0]["ImageUrl"].ToString() + "<br/>鏈接地址:" + dataRow[0]["NavigateUrl"].ToString() + "<br/>顯示頻率:" + dataRow[0]["Impressions"].ToString() + "<br/>描述:" + dataRow[0]["AlternateText"].ToString();64                 Label3.Text = stringText.ToString();65             }66             catch (Exception ex)67             {68                 Label3.Text = "讀取失敗" + ex.Message.ToString();69             }70         }71     }72 }
View Code


 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
午夜精品一区二区三区在线视| 欧美国产欧美亚洲国产日韩mv天天看完整| 中文字幕成人精品久久不卡| 精品久久久久久久久久久久久| 国产精品福利无圣光在线一区| 在线日韩日本国产亚洲| 成人精品久久一区二区三区| 这里只有视频精品| 亚洲精品一区二三区不卡| 欧美电影第一页| 亚洲精品999| 国产色婷婷国产综合在线理论片a| 色综合天天狠天天透天天伊人| 国产成人在线一区| 亚洲精品国产福利| 亚洲一级黄色片| 国产精品吹潮在线观看| 在线播放精品一区二区三区| 亚洲免费电影在线观看| 国产999精品久久久| 国产精品综合久久久| 久久人91精品久久久久久不卡| 久久夜色精品国产欧美乱| xxx欧美精品| 成人h视频在线| 欧美日韩激情视频8区| 最新中文字幕亚洲| 久久久久久久久网站| 亚洲精品白浆高清久久久久久| 国产欧美日韩精品在线观看| 日本精品一区二区三区在线播放视频| 欧美色videos| 亚洲人成电影在线播放| 久久乐国产精品| 68精品久久久久久欧美| 日韩高清免费在线| 日本久久久久久久久| 国产免费观看久久黄| 亚洲欧美激情四射在线日| 亚洲综合日韩在线| 这里精品视频免费| 成人中文字幕+乱码+中文字幕| 久久99久久久久久久噜噜| 亚洲第一区第二区| 91精品在线观看视频| 日韩精品免费看| 欧美与欧洲交xxxx免费观看| 亚洲午夜女主播在线直播| 91精品成人久久| 午夜精品一区二区三区视频免费看| 亚洲精品一区二区三区不| 色多多国产成人永久免费网站| 富二代精品短视频| 另类美女黄大片| 亚洲伊人久久大香线蕉av| 成人免费观看a| 疯狂欧美牲乱大交777| 91精品国产自产在线老师啪| 97精品视频在线观看| 日本高清视频精品| 国产+成+人+亚洲欧洲| 亚洲影院在线看| 久久免费观看视频| 久久99久久99精品中文字幕| 欧美噜噜久久久xxx| 久久精品2019中文字幕| 国产日韩精品在线观看| 97香蕉超级碰碰久久免费软件| 国产精品自拍视频| 久久精品国产96久久久香蕉| 91精品在线影院| 国产一区二区三区三区在线观看| 78m国产成人精品视频| 成人性生交大片免费观看嘿嘿视频| 欧美日韩亚洲激情| 欧美国产第二页| 在线性视频日韩欧美| 亚洲另类激情图| 精品视频在线播放色网色视频| 国产精品久久久久免费a∨| 亚洲一区二区三区久久| 国产精品对白刺激| 精品国产一区二区三区久久久狼| 欧美精品免费播放| 国产精品三级美女白浆呻吟| 中文字幕无线精品亚洲乱码一区| 欧美猛男性生活免费| 亚洲免费电影在线观看| 欧美日本高清一区| 国产精品v日韩精品| 亚洲最大成人网色| 亚洲护士老师的毛茸茸最新章节| 国产欧美精品va在线观看| 96sao精品视频在线观看| 亚洲成人av在线播放| 日韩久久午夜影院| 国产日韩欧美夫妻视频在线观看| 欧美一级视频在线观看| 久久亚洲一区二区三区四区五区高| 国产亚洲激情视频在线| 久久亚洲一区二区三区四区五区高| 国产精品最新在线观看| 国产亚洲精品高潮| 不卡av日日日| 国产91九色视频| 成人写真福利网| 亚洲视频在线视频| 日本道色综合久久影院| 亚洲精品永久免费| 成人在线视频福利| 国产一区二区三区久久精品| 亚洲一区二区少妇| 日韩亚洲欧美中文在线| 欧美日韩在线观看视频小说| 亚洲的天堂在线中文字幕| 91福利视频在线观看| 欧美激情免费视频| 国产精品视频大全| 一区三区二区视频| 91精品国产九九九久久久亚洲| 久久久国产精品亚洲一区| 日韩在线观看网站| 成人春色激情网| 国产mv久久久| 色青青草原桃花久久综合| 欧美在线免费视频| 国产精品激情自拍| 国产在线999| 亚洲日本成人女熟在线观看| 亚洲系列中文字幕| 国产精品入口日韩视频大尺度| 久久久噜久噜久久综合| 丰满岳妇乱一区二区三区| 91a在线视频| 亚洲自拍av在线| 亚洲美女自拍视频| 情事1991在线| 隔壁老王国产在线精品| 人人做人人澡人人爽欧美| 亚洲国产日韩欧美在线动漫| 亚洲在线免费看| 亚洲区免费影片| 久久久久久综合网天天| 91香蕉国产在线观看| 日韩大片免费观看视频播放| 亚洲国产中文字幕久久网| 51视频国产精品一区二区| 日韩高清人体午夜| 国产精品永久免费视频| 欧美日韩国产一区中文午夜| 色悠悠久久久久| 91精品视频免费观看| 91在线观看免费高清完整版在线观看| 国内精品久久久久伊人av| 国产精品丝袜一区二区三区| 热re91久久精品国99热蜜臀| 欧美一区二区三区……| 日韩一区二区欧美| 亚洲片av在线| 在线播放国产一区二区三区| 欧美人在线视频| 久99九色视频在线观看| 中文字幕日韩av电影| 国产中文日韩欧美|