在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
ADO.NET
ADO.NET是.NET數據庫的訪問架構,ADO.NET是數據庫應用程序和數據源之間的溝通的橋樑,提供一個面向對象的數據訪問架構,用來開發數據庫應用程序。提供對象,對象封裝了操作數據庫的方法
組成:
ADO.NET結構
五大類庫: Connection 用於建立與數據庫的鏈接
Command 用於執行SQL語句 三個常用方法:
ExecuteNonQuery :用於增刪改,返回受影響的行數
ExecuteReader:執行查詢,返回一個SqlDataReader對象
ExecuteScalar:執行查詢,并返回首行首列
DataReader 用於讀取數據
DataAdapter 用於填充吧數據填充到DataSet
DataSet 數據集 ,用於程序中
程序訪問數據庫方法步驟
①創建一個到數據庫的鏈接--- >②打開數據庫鏈接--- > ③創建ADO記錄集--- > ④從記錄中提取需要的數據--- >⑤關閉記錄集--- >⑥關閉鏈接
使用ADO.NET需要在程序中引用System.Data.SqlClient,其中包含了對Sql Server進行操作的數據訪問類
class Program { static void Main(string[] args) { //數據庫連接字符串 string sql = "server =;database=TEST; user =; pwd=;"; SqlConnection conn = new SqlConnection(sql); //創建連接實例化對象,連接數據源 SqlCommand cmd = conn.CreateCommand();//數據庫操作類 cmd.CommandText = "select *from SQL_T go delete from SQL_T where 姓名='Tom'"; //編寫數據庫語句 conn.Open(); //打開數據庫連接,操作數據庫數據 //DataReader數據讀取器,ExcuteReader 獲得數據 SqlDataReader dr = cmd.ExecuteReader();// int count = 0; if(dr.HasRows) { while(dr.Read()) { count++; string id = dr["ID"].ToString(); string name = dr["姓名"].ToString(); string classname = dr["班級"].ToString(); string score = dr["分數"].ToString(); Console.WriteLine(id + "|" + name+"|"+classname+"|"+score); } } Console.WriteLine("一共有"+ count + "行數據"); //刪除 cmd.CommandText = "delete from SQL_T where 姓名='Tom';"; int a = cmd.ExecuteNonQuery(); //ExecuteNonQuery返回受影響的行數 if(a>0) { Console.WriteLine("刪除了"+ a +"行"); }else{ Console.WriteLine("刪除失敗"); } conn.Close(); //接受連接有限,使用完關閉連接 Console.ReadLine(); } } DataAdapter數據適配器 填充DataSet class DataAdapter { static void Main(string[] args) { DataSet dataSet = new DataSet(); using(sqlConnection conn = new sqlConnection("")) { conn.Open(); SqlCommand command = conn.CreateCommand(); command.CommandText = "select*from SQL_T";//編寫數據庫語句 SqlDataAdapter dataAdapter = new SqlDataAdapter(command);//創建SqlDataAdapter對象 并執行sql dataAdapter.Fill(dataSet);//填充數據 } } } /// <summary> /// 使用SqlCommandBuilder對數據增刪改查 /// </summary> private static void SqlCommandBuilder() { using (sqlConnection conn = new sqlConnection("")) { conn.Open(); SqlCommand command = conn.CreateCommand(); command.CommandText = "select*from SQL_T";//編寫數據庫語句 SqlDataAdapter da = new SqlDataAdapter(command); DataSet ds = new DataSet(); da.Fill(ds); SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(da);//作用是將DataSet增加的數據轉化為SQL語句來跟新數據庫 DataRow row = ds.Tables[0].NewRow();//添加行,實例化一個行對象 row[0] = "11"; row[1] = "22"; ds.Tables[0].Rows.Add(row); //添加到表中 ds.Tables[0].Rows[1] = ""; //修改數據 ds.Tables[0].Rows[2].Delete();//刪除數據 da.Update(ds); //將DataSet中表和數據庫進行對比更新 } } DataReader 和DataAdapter 區別
SqlDataReader :
SqlDataAdapter:
DataSet DataTable DataRow DataSet DataSet是不依賴於數據庫的獨立數據集合,即關閉數據庫依然可以使用,DataSet裡面可以存儲多個表(DataTable)
DataTable 表示內存中數據的一個表,存儲在內存中的表,在持久化(dataAdapter.Update)到數據庫之前,是不會對數據庫產生影響的
DataTable 成員DataRow DataTable是由一個個DataRow組成而成。DataTable.Row[i]即表示其中的第i行
DataRowState 是DataRow中一個很重要的狀態包括(Added添加、Deleted刪除、Detached分離、Modified修改、Unchange未改變)
[] args) { //數據庫連接字符串 string sql = "server =GSDEV018HZ;database=TEST; user =GSB6275; pwd=ygt562356610;"; //查詢 string commandString = "Select*from SQL_T"; //創建SqlDataAdapter對象 并執行sql SqlDataAdapter dataAdapter = new SqlDataAdapter(commandString,sql); //創建數據集dataSet DataSet dataSet = new DataSet(); //將數據添加到數據集中 dataAdapter.Fill(dataSet); //將數據表添加到數據集中 DataTable dataTable = dataSet.Tables("SQL_T"); }
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论