資源描述:
《ado訪問數(shù)據(jù)庫技術(shù)的方法及步驟》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、ADO.NET訪問數(shù)據(jù)庫技術(shù)的方法及步驟徐照興徐照興,1979-8,碩士,講師,江西服裝職業(yè)技術(shù)學(xué)院服裝商貿(mào)學(xué)院,主要研究領(lǐng)域:數(shù)據(jù)庫應(yīng)用,web開發(fā)(江西服裝職業(yè)技術(shù)學(xué)院,江西南昌330201)摘要:文中以訪問SQLServer數(shù)據(jù)庫為例,以C#為編程語言,精簡的描述了ADO.NET訪問數(shù)據(jù)庫技術(shù)的方法及步驟,并給出了相應(yīng)的核心代碼。關(guān)鍵詞:ADO.NETC#數(shù)據(jù)庫SQLServer方法3對數(shù)據(jù)庫的訪問是各種數(shù)據(jù)庫應(yīng)用程序開發(fā)的核心技術(shù),.NET框架中提出的ADO.NET技術(shù)屏蔽了各種數(shù)據(jù)庫的差異性,為應(yīng)用程序的開發(fā)提供了一致的接口,增強(qiáng)了程序的可移植性和可擴(kuò)展性,本文給出以ADO.
2、NET訪問SQLServer數(shù)據(jù)庫為例,基于C#語言描述的ADO.NET訪問數(shù)據(jù)庫技術(shù)的方法、步驟及核心代碼,以期為.NET從業(yè)人員提供幫助。1使用連接對象Connection連接數(shù)據(jù)源連接對象的作用是在應(yīng)用程序與指定的數(shù)據(jù)庫之間建立連接,這是訪問數(shù)據(jù)庫的第一步。核心代碼如下:usingSystem.Data;//引入包含基本數(shù)據(jù)訪問類的ADO.NET基本命名空間usingSystem.Data.SqlClient;//引入包含SQLServer數(shù)據(jù)提供程序的命名空間SqlConnectionmyconn=newSqlConnection();//定義并實例化一個Connection對
3、象myconn.ConnectionString="Server=數(shù)據(jù)庫服務(wù)器名;DataBase=數(shù)據(jù)名;Uid=用戶名;Pwd=密碼";//使用SQLServer用戶登錄驗證方式連接數(shù)據(jù)庫myconn.Open();//根據(jù)連接字符串,打開指定的數(shù)據(jù)庫注意:(1)若使用windows驗證方式連接數(shù)據(jù)庫,連接的字符串如下:myconn.ConnectionString="DataSource=數(shù)據(jù)庫服務(wù)器名;initialcatalog=數(shù)據(jù)庫名;persistsecurityinfo=false;IntegratedSecurity=SSPI";(2)當(dāng)數(shù)據(jù)庫使用完畢后要及時關(guān)閉數(shù)
4、據(jù)庫的連接,即myconn.Close();2使用命令對象Command執(zhí)行SQL語句或存儲過程操縱數(shù)據(jù)庫數(shù)據(jù)庫連接打開后,接下來的工作就是操縱數(shù)據(jù)庫,操縱數(shù)據(jù)庫需要使用SQL語句或存儲過程,而ADO.NET數(shù)據(jù)提供程序中的Command對象就可以用來實現(xiàn)對數(shù)據(jù)庫的操縱了。核心代碼如下:stringsqlstr="";//引號內(nèi)為SQL語句或存儲過程(也即是要如何操縱數(shù)據(jù)庫)SqlCommandmycmd=newSqlCommand(sqlstr,myconn);//定義并實例化一個Command對象3mycmd.ExecuteReader();//調(diào)用Command對象的方法操縱數(shù)據(jù)
5、庫說明:(1)上面“定義并實例化一個Command對象”相當(dāng)于下面幾條語句SqlCommandmycmd=newSqlCommand();//定義并實例化Command對象mycmd.Connection=myconn;//將先前打開數(shù)據(jù)庫的myconn對象賦給mycmd對象的Connectionmycmd.CommandText=strsql;//將要執(zhí)行的SQL語句或存儲過程賦給mycmd對象的CommandText屬性(2)Command的主要方法有以下幾種lExecuteNonQuery():用于執(zhí)行Insert、Delete、Update等無需返回記錄的SQL語句,但它會返回
6、執(zhí)行操作后數(shù)據(jù)庫受影響的行數(shù)。lExecuteScalar():用于執(zhí)行SQL語句,它會返回結(jié)果中首行首列的值,比較適合執(zhí)行諸如有聚合函數(shù)Count()、Max()等的查詢操作。lExecuteReader():比較適合返回多條記錄的Select語句的執(zhí)行工作,它執(zhí)行之后將會產(chǎn)生一個DataReader對象,可以利用此對象完成對執(zhí)行結(jié)果的讀取操作。3使用數(shù)據(jù)讀取器對象DataReader讀取數(shù)據(jù)Command對象在執(zhí)行ExecuteReader()方法后,在返回記錄的同時,將產(chǎn)生一個數(shù)據(jù)讀取器對象DataReader來指向所返回的記錄集,利用DataReader就可以讀取返回的記錄。D
7、ataReader對象的一個重要方法是Read(),該方法使得指針向前移動一行,并讀取該行記錄,比如在第一次執(zhí)行Read時,指針就會從初始位置指向第一行記錄,就可以讀取該行記錄中的字段值了。需要注意的是利用DataReader只能依次向前讀取而不能修改數(shù)據(jù)庫。Read()會返回一個布爾型值表明它是否讀取到記錄,當(dāng)讀取到記錄時,它返回True,否則返回False。核心代碼:SqlDataReaderdr;//定義一個數(shù)據(jù)讀取器對象drdr=myc