日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ADO.NET开发总结(学习笔记)

發布時間:2025/3/21 asp.net 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ADO.NET开发总结(学习笔记) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.用SqlConnection連接SQL?Server

1..加入命名空間

using?System.Data.SqlClient;

2.連接數據庫

SqlConnection?myConnection?=?new?SqlConnection();
myConnection.ConnectionString?=?"user?id=sa;password=sinofindb;initial?catalog=test;data?source=127.0.0.1;Connect?Timeout=30";
myConnection.Open();

改進(更通用)的方法:

string?MySqlConnection="user?id=sa;password=sinofindb;Database?=test;data?source=127.0.0.1;Connect?Timeout=30";
SqlConnection?myConnection?=?new?SqlConnection(MySqlConnection);
myConnection.Open();

二。用OleDbConnection連接


1.加入命名空間

using?System.Data.OleDb;
?

2.連接sql?server

string?MySqlConnection="Provider=SQLOLEDB;Data?Source=localhost;Initial?Catalog=test;Integrated?Security=SSPI;";

SqlConnection?myConnection?=?new?SqlConnection(MySqlConnection);
myConnection.Open();

?

3.連接Access(可通過建立.udl文件獲得字符串)

string?MySqlConnection="Provider=Microsoft.Jet.OLEDB.4.0;Data?Source=c:\db2000.mdb;

Persist?Security?Info=False;


4.連接Oracle(也可通過OracleConnection連接)

string?MySqlConnection="Provider=MSDAORA;Data?Source=db;?user?id=sa;password=sinofindb";

?

三.創建Command對象


1.SqlCommand?構造函數

①初始化?SqlCommand?類的新實例。public?SqlCommand();

SqlCommand?myCommand?=?new?SqlCommand();

?

②初始化具有查詢文本的?SqlCommand?類的新實例。public?SqlCommand(string);

String?mySelectQuery?=?"SELECT?*?FROM?mindata";
SqlCommand?myCommand?=?new?SqlCommand(mySelectQuery);
③初始化具有查詢文本和?SqlConnection?的SqlCommand類實例。

Public?SqlCommand(string,?SqlConnection);

String?mySelectQuery?=?"SELECT?*?FROM?mindata";
string?myConnectString?=?"user?id=sa;password=;database=test;server=mySQLServer";
SqlConnection?myConnection?=?new?SqlConnection(myConnectString);
SqlCommand?myCommand?=?new?SqlCommand(mySelectQuery,myConnection);
?

④初始化具有查詢文本、SqlConnection?和?Transaction?的?SqlCommand?類實例。

public?SqlCommand(string,?SqlConnection,?SqlTransaction);

SqlTransaction?myTrans?=?myConnection.BeginTransaction();
String?mySelectQuery?=?"SELECT?*?FROM?mindata";
string?myConnectString?=?"user?id=sa;password=;database=test;server=mySQLServer";
SqlConnection?myConnection?=?new?SqlConnection(myConnectString);
SqlCommand?myCommand?=?new?SqlCommand(mySelectQuery,myConnection,?myTrans);
?

2.建立SqlCommand與SqlConnection的關聯。

myCommand.Connection?=?myConnection;

或者:SqlCommand?myCommand?=?myConnection.CreateCommand;

?

3.設置SqlCommand的查詢文本。

myCommand.CommandText?=?"SELECT?*?FROM?mindata";

或者第2種構造:SqlCommand?myCommand?=?new?SqlCommand(mySelectQuery);

給SqlCommand對象提供兩個查詢字符串,每個查詢字符串訪問不同的表,返回不同的結果集。

兩個查詢語句用分號分隔。

?

4.?執行命令。

ExecuteReader
?返回一行或多行
?
ExecuteNonQuery
?對?Connection?執行?Transact-SQL?語句并返回受影響的行數(int)
?
ExecuteScalar
?返回單個值(如一個聚合值).返回結果集中第一行的第一列。忽略額外的列或行
?
ExecuteXmlReader
?將?CommandText?發送到?Connection?并生成一個?XmlReader?對象。
?

?

SqlDataReader?myReader?=?myCommand.ExecuteReader();

或SqlDataReader?myReader?=?myCommand.ExecuteReader(CommandBehavior.CloseConnection);

???while(myReader.Read())?//循環讀取數據
???{
??????Console.WriteLine(myReader.GetString(0));//?獲取指定列的字符串形式的值
??????Console.WriteLine(myReader.?GetValue(1));//?獲取以本機格式表示的指定列的值
????}
?

CommandText?=?"select?count(*)?as?NumberOfRegions?from?region";
Int?count?=?(int)?myCommand.ExecuteScalar();

?

關于OleDbCommand對象的使用。

?

四.DataReader的使用

1.遍歷結果集

while?(myReader.Read())
??Console.WriteLine("\t{0}\t{1}",?myReader.GetInt32(0),?myReader.GetString(1));
myReader.Close();
?

2.使用序數索引器。

while?(myReader.Read())
??Console.WriteLine("\t{0}\t{1}",?myReader[0].ToString(),?myReader[1].ToString());
myReader.Close();


3.使用列名索引器。

while?(myReader.Read())
??Console.WriteLine("\t{0}\t{1}",?myReader["code].ToString(),?myReader["name"].ToString());
myReader.Close();

?

4.使用類型訪問器。

public?char?GetChar(int?i);?獲取指定列的單個字符串形式的值
public?DateTime?GetDateTime(int?i);?獲取指定列的?DateTime?對象形式的值
public?short?GetInt16(int?i);?獲取指定列的?16?位有符號整數形式的[C#]
public?string?GetString(int?i);?獲取指定列的字符串形式的值


5.得到列信息。

myReader.FieldCount?????獲取當前行中的列數
myReader.GetFieldType(序號)???獲取是對象的數據類型的?Type
myReader.GetDataTypeName(序號)??獲取源數據類型的名稱
myReader.GetName(序號)?????獲取指定列的名稱
myReader.GetOrdinal(序號)???在給定列名稱的情況下獲取列序號


6.得到數據表的信息。

myReader.GetSchemaTable()???返回一個?DataTable
?

7.操作多個結果集。
myReader.NextResult()?????使數據讀取器前進到下一個結果集
do
{
??while?(myReader.Read())
??Console.WriteLine("\t{0}\t{1}",?myReader.GetInt32(0),?myReader.GetString(1));
}
while(myReader.NextResult());


五.DataAdapter


1.創建SqlDataAdapter
初始化?SqlDataAdapter?類的新實例。
public?SqlDataAdapter();
將指定的?SqlCommand?作為SelectCommand?屬性,初始化?SqlDataAdapter?類的新實例。
public?SqlDataAdapter(SqlCommand);
用?selectcommand字符串?和?SqlConnection對象初始化SqlDataAdapter?類的新實例。
public?SqlDataAdapter(string,?SqlConnection);
用?selectcommand字符串?和?一個連接字符串?初始化SqlDataAdapter?類的新實例。
public?SqlDataAdapter(string,?string);


2.DataAdapter和SqlConnection,SqlCommand建立關聯。
??1.DataAdapter在構造參數時建立
??2.SqlDataAdapter?adapter?=?new?SqlDataAdapter();
?????adapter.SelectCommand?=?new?SqlCommand(query,?conn);


3.DataAdapter.Fill()方法。

在?DataSet?中添加或刷新行以匹配使用?DataSet?名稱的數據源中的行,并創建一個名為“Table”的?DataTable。
public?override?int?Fill(DataSet);
在?DataSet?中添加或刷新行以匹配使用?DataSet?和?DataTable?名稱的數據源中的行。
?public?int?Fill(DataSet,?string);


在?DataSet?的指定范圍中添加或刷新行以匹配使用?DataSet?和?DataTable?名稱的數據源中的行。

?public?int?Fill(DataSet,?int,?int,?string);


在?DataTable?中添加或刷新行以匹配使用?DataTable?名稱的數據源中的行。
?public?int?Fill(DataTable);


在?DataTable?中添加或刷新行以匹配使用指定?DataTable?和?IDataReader?名稱的數據源中的行。
?protected?virtual?int?Fill(DataTable,?IDataReader);

在?DataTable?中添加或刷新行以匹配使用?DataTable?名稱、指定的?SQL?SELECT?語句和?CommandBehavior?的數據源中的行。
?protected?virtual?int?Fill(DataTable,?IDbCommand,?CommandBehavior);
?

六.DataTable?類

七.DataColumn?類

八.DataRow?類
?

九.DataSet?類
1.創建DataSet?對象

初始化?DataSet?類的新實例。
public?DataSet();
?
用給定名稱初始化?DataSet?類的新實例。
public?DataSet(string);
?

2.用DataAdapter填充DataSet

???DataSet?myds=new?DataSet();
adapter.fill(myds)
adapter.fill(myds,”表名”);??用一個表去填充DataSet.

?

十.?DataTableCollection?類。????表示?DataSet?的表的集合。

DataTableCollection?dtc?=?ds.Tables;
DataTable?table?=?dtc[“表名”];
String?strExpr?=?"id?>?5";
String?strSort?=?"name?DESC";
DataRow[]?foundRows?=?customerTable.Select(?strExpr,?strSort,);

進行動態的篩選和排序。
DataTable.Select()?方法?:??獲取?DataRow?對象的數組,

①獲取所有?DataRow?對象的數組。
public?DataRow[]?Select();

?

②按主鍵順序(如沒有主鍵,則按照添加順序),獲取與篩選條件相匹配的所有?DataRow?對象的數組。
public?DataRow[]?Select(string);


③獲取按照指定的排序順序且與篩選條件相匹配的所有?DataRow?對象的數組。

public?DataRow[]?Select(string,?string);


④獲取與排序順序中的篩選器以及指定的狀態相匹配的所有?DataRow?對象的數組。

public?DataRow[]?Select(string,?string,?DataViewRowState);

?

十一。DataView?類?:?是DataTable內容的動態視圖。

1.??創建對象

初始化?DataView?類的新實例。

??public?DataView();

用指定的?DataTable?初始化?DataView?類的新實例。

??public?DataView(DataTable);

用指定的?DataTable、RowFilter、Sort?和?DataViewRowState?初始化?DataView?類的新實例。

??public?DataView(DataTable,?string,?string,?DataViewRowState);


DataView?myview?=?new?DataView(ds.Tables["Suppliers"],?"id?>?5",?"name?DESC",
DataViewRowState.CurrentRows);


2?.得到DataView的行數據。

???foreach?(DataRowView?myrowview?in?myview)
???{
?????for?(int?i?=?0;?i?<?myview.Table.Columns.Count;?i++)
????????Console.Write(myrowview?[i]?+?"\t");
?????Console.WriteLine();
???}

總結

以上是生活随笔為你收集整理的ADO.NET开发总结(学习笔记)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。