一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

數(shù)據(jù)庫開發(fā)個人總結(jié)(ADO.NET) - ADO.NET教程 - 新客網(wǎng)

 .PG 2010-09-06
一.用SqlConnection連接SQL Server



1.加入命名空間

using System.Data.SqlClient;

2.連接數(shù)據(jù)庫

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();



改進(jìn)(更通用)的方法:

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";



三.創(chuàng)建Command對象



1.SqlCommand 構(gòu)造函數(shù)

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

SqlCommand myCommand = new SqlCommand();



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

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

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 類實(shí)例。

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的關(guān)聯(lián)。

myCommand.Connection = myConnection;

或者:SqlCommand myCommand = myConnection.CreateCommand;



3.設(shè)置SqlCommand的查詢文本。

myCommand.CommandText = "SELECT * FROM mindata";

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

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

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



4. 執(zhí)行命令。

ExecuteReader
返回一行或多行

ExecuteNonQuery
對 Connection 執(zhí)行 Transact-SQL 語句并返回受影響的行數(shù)(int)

ExecuteScalar
返回單個值(如一個聚合值).返回結(jié)果集中第一行的第一列。忽略額外的列或行

ExecuteXmlReader
將 CommandText 發(fā)送到 Connection 并生成一個 XmlReader 對象。




SqlDataReader myReader = myCommand.ExecuteReader();

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

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


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



關(guān)于OleDbCommand對象的使用。









四.DataReader的使用



1.遍歷結(jié)果集

while (myReader.Read())

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

myReader.Close();



2.使用序數(shù)索引器。

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 位有符號整數(shù)形式的[C#]

public string GetString(int i); 獲取指定列的字符串形式的值



5.得到列信息。

myReader.FieldCount 獲取當(dāng)前行中的列數(shù)

myReader.GetFieldType(序號) 獲取是對象的數(shù)據(jù)類型的 Type

myReader.GetDataTypeName(序號) 獲取源數(shù)據(jù)類型的名稱

myReader.GetName(序號) 獲取指定列的名稱

myReader.GetOrdinal(序號) 在給定列名稱的情況下獲取列序號



6.得到數(shù)據(jù)表的信息。

myReader.GetSchemaTable() 返回一個 DataTable



7.操作多個結(jié)果集。

myReader.NextResult() 使數(shù)據(jù)讀取器前進(jìn)到下一個結(jié)果集

do

{

while (myReader.Read())

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

}

while(myReader.NextResult());











五.DataAdapter



1.創(chuàng)建SqlDataAdapter

初始化 SqlDataAdapter 類的新實(shí)例。

public SqlDataAdapter();



將指定的 SqlCommand 作為SelectCommand 屬性,初始化 SqlDataAdapter 類的新實(shí)例。

public SqlDataAdapter(SqlCommand);



用 selectcommand字符串 和 SqlConnection對象初始化SqlDataAdapter 類的新實(shí)例。

public SqlDataAdapter(string, SqlConnection);



用 selectcommand字符串 和 一個連接字符串 初始化SqlDataAdapter 類的新實(shí)例。

public SqlDataAdapter(string, string);



2.DataAdapter和SqlConnection,SqlCommand建立關(guān)聯(lián)。

1.DataAdapter在構(gòu)造參數(shù)時建立

2.SqlDataAdapter adapter = new SqlDataAdapter();

adapter.SelectCommand = new SqlCommand(query, conn);



3.DataAdapter.Fill()方法。

在 DataSet 中添加或刷新行以匹配使用 DataSet 名稱的數(shù)據(jù)源中的行,并創(chuàng)建一個名為“Table”的 DataTable。

public override int Fill(DataSet);



在 DataSet 中添加或刷新行以匹配使用 DataSet 和 DataTable 名稱的數(shù)據(jù)源中的行。

public int Fill(DataSet, string);



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

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



在 DataTable 中添加或刷新行以匹配使用 DataTable 名稱的數(shù)據(jù)源中的行。

public int Fill(DataTable);



在 DataTable 中添加或刷新行以匹配使用指定 DataTable 和 IDataReader 名稱的數(shù)據(jù)源中的行。

protected virtual int Fill(DataTable, IDataReader);



在 DataTable 中添加或刷新行以匹配使用 DataTable 名稱、指定的 SQL SELECT 語句和 CommandBehavior 的數(shù)據(jù)源中的行。

protected virtual int Fill(DataTable, IDbCommand, CommandBehavior);







六.DataTable 類

七.DataColumn 類

八.DataRow 類









九.DataSet 類
1.創(chuàng)建DataSet 對象

初始化 DataSet 類的新實(shí)例。

public DataSet();



用給定名稱初始化 DataSet 類的新實(shí)例。

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,);



進(jìn)行動態(tài)的篩選和排序。

DataTable.Select() 方法 : 獲取 DataRow 對象的數(shù)組,

①獲取所有 DataRow 對象的數(shù)組。

public DataRow[] Select();



②按主鍵順序(如沒有主鍵,則按照添加順序),獲取與篩選條件相匹配的所有 DataRow 對象的數(shù)組。

public DataRow[] Select(string);



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

public DataRow[] Select(string, string);



④獲取與排序順序中的篩選器以及指定的狀態(tài)相匹配的所有 DataRow 對象的數(shù)組。

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











十一。DataView 類 : 是DataTable內(nèi)容的動態(tài)視圖。

1. 創(chuàng)建對象

初始化 DataView 類的新實(shí)例。

public DataView();



用指定的 DataTable 初始化 DataView 類的新實(shí)例。

public DataView(DataTable);



用指定的 DataTable、RowFilter、Sort 和 DataViewRowState 初始化 DataView 類的新實(shí)例。

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



DataView myview = new DataView(ds.Tables["Suppliers"],

"id > 5",

"name DESC",

DataViewRowState.CurrentRows);





2 .得到DataView的行數(shù)據(jù)。

foreach (DataRowView myrowview in myview)

{

for (int i = 0; i < myview.Table.Columns.Count; i++)

Console.Write(myrowview [i] + "\t");

Console.WriteLine();

}

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    男人大臿蕉香蕉大视频| 激情内射日本一区二区三区| 精品熟女少妇一区二区三区| 日韩亚洲精品国产第二页| 精品日韩视频在线观看| 成人你懂的在线免费视频| 欧美中文日韩一区久久| 69精品一区二区蜜桃视频| 欧美六区视频在线观看| 亚洲精品一二三区不卡| 久草视频在线视频在线观看| 日本精品理论在线观看| 99久免费精品视频在线观| 九九热这里只有精品视频| 免费一级欧美大片免费看| 久久精品国产一区久久久| 午夜视频免费观看成人| 玩弄人妻少妇一区二区桃花| 91欧美亚洲视频在线| 午夜福利大片亚洲一区| 国产又爽又猛又粗又色对黄| 国产内射一级二级三级| 日本深夜福利在线播放| 国产又黄又爽又粗视频在线| 欧美国产日韩在线综合| 国产一区欧美一区日韩一区| 老司机精品线观看86| 亚洲熟女精品一区二区成人| 日本欧美一区二区三区在线播| 99久久人妻中文字幕| 国产精品亚洲一级av第二区| 中文字幕人妻一区二区免费| 亚洲最新一区二区三区| 日韩精品一级一区二区| 午夜福利视频偷拍91| 欧美一区日韩一区日韩一区| 五月的丁香婷婷综合网| 欧美小黄片在线一级观看| 国产中文字幕久久黄色片| 在线观看视频日韩成人| 亚洲熟妇av一区二区三区色堂|