C#和數據庫技術基礎課件_第1頁
C#和數據庫技術基礎課件_第2頁
C#和數據庫技術基礎課件_第3頁
C#和數據庫技術基礎課件_第4頁
C#和數據庫技術基礎課件_第5頁
已閱讀5頁,還剩65頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

C#語言和數據庫技術基礎猛禽C#和數據庫技術基礎第1章第一個C#程序.NET概述與C#應用.NET是Microsoft.NET的簡稱,是基于Windows平臺的一種技術。它包含能在.NETFramework平臺運行的所以編程語言。C#是微軟將C,C++,Java等多種語言優點集于一身,專為.NET開發而設計的一種完全面向對象的編程語言。IDE環境VisualStudio,它集成了.NETFramework,是目前最流行的.NET平臺開發環境。C#和數據庫技術基礎第1章第一個C#程序新建程序啟動VisualStudio2010新建項目生產可執行文件開始運行經驗運行的快捷鍵:F5:啟動。運行的快捷鍵:Ctrl+F5:開始執行不調試C#和數據庫技術基礎第1章第一個C#程序認識控制臺應用程序文件夾的結構Program.cs:該文件是項目的啟動文件,在該文件中定義項目的啟動入口,即Main()方法。HelloWorld.exe:這個文件位于bin\Debug目錄下,是項目編譯后生成的可執行文件,可以直接運行。認識C#程序namespace命名空間相當于Java中的packageusing用來引用其他命名空間,相當于Java中的importclass和Java一樣表示類。Main()方法staticvoidMain(string[]args){}staticvoidMain(){}staticintMain(string[]args){}staticintMain(){}關鍵代碼Console.WriteLine();//從控制臺輸出內容Console.ReadLine();//從控制臺輸入內容

C#和數據庫技術基礎第1章第一個C#程序C#中的數據類型C#中布爾類型為bool,字符串類型關鍵字為小寫(string)。C#中的變量語法>>數據類型變量名稱;命名規則組成:52個英文字母(A~Z,a~z)、10個數字(0~9)、下劃線(_),除此之外不能含有其他的字符。開頭:只能以字母或下劃線開頭。不能使用的:不能是C#中的關鍵字。變量名稱要語義化。當多個單詞組成變量名時,應該使用駱駝(Camel)命名法。C#和數據庫技術基礎第1章第一個C#程序常量定義:常量就是在程序運行過程中保持不變的值。語法>>const數據類型常量名稱=值;命名規范常量名稱必須具有一定的實際意義。常量名稱最好以大寫字母來命名,中間可以根據意義的連接性用下劃線做連接,每個常量定義的右側最好有一簡單的注釋,說明其作用。常量名稱最好不要超過25個字符,否則可讀性差。C#和數據庫技術基礎第1章第一個C#程序Console類C#向控制臺輸出(三種方式)Console.WriteLine();Console.WriteLine(要輸出的值);Console.WriteLIne(“格式字符串”,變量列表);C#向控制臺讀入Console.ReadLine();intage=int.Parse(Console.ReadLine());C#和數據庫技術基礎第1章第一個C#程序自定義方法語法>>訪問修飾符返回類型方法名(參數列表){ //方法主體}方法命名規范方法名要有實際的含義,最好是動賓短語。用Pascal命名法C#和數據庫技術基礎第1章第一個C#程序類和對象語法>>

訪問修飾符class類名

{ //類的主體

}注釋C#中行注釋和塊注釋與Java是完全相同的,分別使用//和/*…*/。文檔注釋每一行都以”///”開頭。折疊把方法代碼寫在#region和#endregion之間。

C#和數據庫技術基礎第1章第一個C#程序調試程序的步驟如下:設置斷點:按F9快捷鍵。啟動調試:按F5快捷鍵。在監視窗口中查看變量的當前值。C#和數據庫技術基礎第2章C#語法快速熱身if條件結構簡單if結構if(條件表達式){ //代碼塊}if-else結構if(條件表達式){ //代碼塊1}else{ //代碼塊2}開始條件表達式代碼塊結束假真簡單if結構的流程圖開始條件表達式代碼塊1結束假真代碼塊2If-else結構的流程圖C#和數據庫技術基礎第2章C#語法快速熱身多重if結構if(條件表達式1){

代碼塊1}elseif(條件表達式2){

代碼塊2}elseif(條件表達式3){

代碼塊3}else{

代碼塊4}If-else結構的流程圖開始條件表達式1代碼塊1結束假真代碼塊2條件表達式2代碼塊3條件表達式3代碼塊4假假真真C#和數據庫技術基礎第2章C#語法快速熱身

嵌套if結構

if(條件表達式1){ if(條件表達式2) {

代碼塊1 } else {

代碼塊2 }}else{

代碼塊3 }

開始條件表達式1代碼塊1結束假真代碼塊2條件表達式2代碼塊3真假嵌套if流程圖C#和數據庫技術基礎第2章C#語法快速熱身if結構書寫規范為了使if結構更加清晰,應該把每個if或else包含的語句都用大括號括起來。相匹配的一對if和else應該左對齊內層的if結構相對于外層的if結構要有一定的縮進。大括號按規范寫法:C#中大括號“{”和“}”分別各占據新的一行。而Jave中左大括號“{”緊跟if結構的條件后面,右大括號“}”則需要另起新的一行。switch結構switch結構中case字句的擺放是沒有順序的,可以把default字句放在最前面,但要注意任何兩個case語句不能具有相同的值。case中的值可以是int,char,和string類型,但必須是常量表達式,不允許使用變量。每個case和default語句中必須要有break語句。但如果case字句不包含其他語句,就不需要break語句。C#和數據庫技術基礎第2章C#語法快速熱身一維數組改錯:

intarray[]=newint[5]{0,1};循環while循環語法>>while(條件表達式){

代碼塊

}

do-while循環語法>>do{

代碼塊

}while(條件表達式);

開始條件表達式代碼塊結束假真while循環的執行過程開始條件表達式代碼塊結束假真do-while循環的執行過程C#和數據庫技術基礎第2章C#語法快速熱身for循環語法>>for(表達式1,表達式2,表達式3){

代碼塊

}開始代碼塊結束假真for循環的執行過程條件表達式2條件表達式3條件表達式1C#和數據庫技術基礎第2章C#語法快速熱身foreach循環語法>>foreach(類型元素in集合或者組合){

代碼塊

}

語法中的“元素”是一個只讀變量C#和數據庫技術基礎第2章C#語法快速熱身循環應用的區別如下while循環是先判斷條件表達式是否成立。若成立則執行循環體;否則結束循環。do-while循環先執行一次循環體再判斷條件表達式是否成立。若成立則繼續循環;否則結束循環。for循環必須使用整形變量做循環計算器,通過條件表達式限定計數器變量值來控制循環。foreach()自動遍歷給定集合的所有值。C#和數據庫技術基礎第2章C#語法快速熱身break語句可以用在switch,for循環,foreach循環,while循環,do-while循環中continue語句必須出現在for循環,foreach循環,do-while循環,while循環中。二重循環【代碼演示】冒泡排序外層循環n-1,內層循環n-1-I,【代碼演示】C#和數據庫技術基礎C#中的訪問修飾符this關鍵字

this關鍵字代表的是當前的對象。在類的內部,可以用this關鍵字訪問它的成員。第3章使用屬性升級MyBank訪問修飾符訪問權限訪問級別public不受任何限制最高private只有類的內部可以使用最低C#和數據庫技術基礎第3章使用屬性升級MyBankC#的屬性這種結合了字段和方法的實現方式我們稱為屬性(propert)。語法

privatestring_name;publicstringName{ get{return_name;} set{_name=value;} }屬性的數據類型屬性的數據類型可以是一個類或一個數組。屬性的訪問類型只讀屬性,只包含get訪問器只寫屬性,只包含set訪問器讀寫屬性,包含get和set訪問器封裝字段快捷鍵Ctrl+R+E。C#和數據庫技術基礎第3章使用屬性升級MyBankC#中,一般為類的私有字段和屬性的命名會采用不同的命名法。在為類的私有字段命名時,要以下劃線“_”開頭,隨后出現的英文字母采用Camel命名法。在為類的屬性命名時,采用Pascal命名法。C#中,字段和屬性的區別:通常將字段指定為private,在類內部使用。將屬性指定為public,對外部公開,通過get和set訪問器對字段提供安全,有效范圍的保護。C#中,屬性和方法的區別:C#中屬性get訪問器和set訪問器后不需要使用“()”,因為訪問器沒有返回值,所以不需要指定void。C#和數據庫技術基礎第3章使用屬性升級MyBank面向對象的特征之——封裝定義:封裝是將數據和操作的方法保存在一起的技術,或是有選擇地隱藏或公開類中的屬性和方法的過程。封裝為我們帶來的好處避免使用非法數據賦值保證數據的完整性避免類的內部發生修改時,導致整個程序的修改。值傳遞和引用傳遞值傳遞是將變量的值復制一份傳遞給方法,使得改方法的形參和實參的值相同。在調用方法中修改形參也只是對實參復制品的數據更新,并沒有真正改變實參的值。引用傳遞是將要傳遞的對象的引用復制給方法的形參,使得被調用的方法直接對引用對象進行更改,會影響實參原來的值。(使用ref關鍵字)C#和數據庫技術基礎第4章深入C#的String類常用字符串的處理方法Equals()Compare(stringstrA,stringstrB)IndexOf(stringvalue)LastIndexOf(stringvalue)Join(stringseparator,string[]value)Split(charseparator)Substring(intstartIndex,intlength)ToLower()ToUpper()Trim()C#和數據庫技術基礎第4章深入C#的String類運算符==和String類方法Equals()的區別如下==:通常來比較int,double等數值類型的數據是否相等。Equals():通常用來比較兩個對象的值是否相等。“”和String.Empty的作用如下“”:為String對象分配了一個長度為0的存儲空間。String.Empty:為對象分配了一個長度為0的存儲空間。C#和數據庫技術基礎第4章深入C#的String類Format格式化語法>>StringmyString=String.Format(“格式字符串”,參數列表);

其中格式字符串中包含固定文本和格式項。格式項的形式如下:

{索引[,對齊][:格式字符串]}格式化數值結果表C#和數據庫技術基礎第4章深入C#的String類字符說明示例輸出結果C貨幣格式String.Format(“{0:C3}”,2000)¥2000.000D十進制格式String.Format(“{0:D3}”,2000)2000F小數點后的位數固定String.Format(“{0:F3}”,2000)2000.000N用逗號(,)隔開的數字String.Format(“{0:N}”,250000)250,000.00P百分比計數法String.Format(“{0:P3}”,0.29768)29.768X十六進制格式String.Format(“{0:X000}”,12)cC#和數據庫技術基礎第4章深入C#的String類簡單的類型轉換隱式類型轉換任何數值類型A,只要其取值范圍完全包含在類型B的取值范圍類,就可以隱式轉換為類型B。顯式類型轉換sum=(int)score+bonus;注意:顯式類型轉換會丟失精度。數值類型與字符串之間的轉換字符串轉換為數值型int.Parse(string);float.Parse(string);double.Parse(string);數值型轉換為字符串stringmyage=age.ToString();C#和數據庫技術基礎第4章深入C#的String類常用的Convert類的類型轉換方法

方法說明Conver.ToInt32()轉換為整形(int型)Conver.ToSingle()轉換為單精度浮點型(float型)Conver.ToDouble()轉換為雙精度浮點型(double型)Conver.ToString()轉換為字符串類型(string型)C#和數據庫技術基礎第6章程序數據的集散地:數據庫什么是數據庫?數據庫是表和數據庫訪問對象的集合。其中表分類存儲了不同的實體信息,每一行數據對應一個實體的描述信息。當今常用數據庫SQLServerOracleDB2MySQLC#和數據庫技術基礎第6章程序數據的集散地:數據庫使用數據庫的好處:可以結構化存儲大量的數據信息,方便用戶進行有效的檢索和訪問。可以有效地保持數據信息的一致性,完整性,降低數據冗余。可以滿足應用的共享和安全方面的要求。數據庫技術能夠方便智能化地分析,產生新的有用的信息。實體實體是所有客觀存在的、可以被描述的事物。記錄在數據庫的表中,每一“行”(Row)實際上對應一個實體,這樣的一行叫做“記錄”(Record)。字段表格中的每一列,通常叫做“列”,也可以稱之為“字段”。C#和數據庫技術基礎第6章程序數據的集散地:數據庫數據庫和數據庫表數據庫就是表的集合,邏輯上數據庫包括數據表,存儲表間關系的表以及各種關系對象數據庫管理系統和數據庫系統數據庫管理系統(DBMS,DataBaseManagementSystem)是一種系統軟件,由一個數據庫和一組訪問數據的程序構成。數據庫管理系統的基本目標是要提供一個可以方便有效地存取數據庫信息的環境。數據庫管理系統的主要功能是維護數據庫,并有效地訪問數據庫中各部分的數據。數據庫系統(DBS,DataBaseSystem)是一個實際可運行的系統,可以對系統提供的數據進行存儲,維護和應用,它是由存儲介質,處理對象和管理系統共同組成的集合體,通常由軟件,數據庫和數據庫管理員組成。數據庫由數據庫管理系統統一管理,數據的插入,修改,和檢索都要通過數據庫管理系統進行。數據庫管理員(DBA,DataBaseAdministrator)在數據庫系統中負責創建,監控和維護整個數據庫,使數據能被有權限使用的人有效使用。

C#和數據庫技術基礎第6章程序數據的集散地:數據庫數據冗余和數據完整性在數據庫系統中,數據重復的現象就是數據冗余(Redundance)數據的完整性(Integrality)是指數據庫中數據的準確性。登陸SQLServer數據庫連接SQLServer數據庫時需要注意以下兩點:在連接SQLServer之前,SQLServer服務必須已經啟動SQLServerManagementStudio可以連接和管理多個其他計算機上的SQLServer數據庫。SQLServer中數據庫按照用途可以劃分為如下兩種:系統數據庫用戶數據庫C#和數據庫技術基礎第6章程序數據的集散地:數據庫MicrosoftSQLServer2008提供的系統數據庫Master數據庫Tempdb數據庫Model數據庫Msdb數據庫Resource數據庫新建數據庫連接SQLServer支持兩種身份認證Windows身份驗證SQLServer身份驗證操作權限固定的數據庫操作權限有十個db_backupoperator權限可以備份數據庫db_datareader可以讀取數據庫中的數據db_denydatareader不允許讀取數據C#和數據庫技術基礎第6章程序數據的集散地:數據庫創建數據庫數據庫文件(DatabaseFile)事務日志文件(TransactionLogFile數據庫文件是存放數據庫數據和數據庫對象的文件,一個數據庫可以有多個數據庫文件,一個數據庫文件只屬于一個數據庫。當有多個數據庫文件時,有一個文件被指定為主數據庫文件(PrimaryDatabaseFile),主數據庫文件的擴展名為.mdf,它用來存儲數據庫的啟動信息數據。一個數據庫只能有一個主數據庫文件,其他數據庫文件被稱為次數據庫文件(SecondaryDatabaseFile)。事務日志文件(TransactionLogFile)事物日志文件用來記錄數據庫的更新情況。事物日志文件的文件擴展名為.ldf,一個數據庫可以有一個或多個事物日志文件。C#和數據庫技術基礎第6章程序數據的集散地:數據庫數據庫的選項兼容級別:數據庫向以前的版本兼容的級別。數據庫為只讀:一般該選項都設置為False,如果設置為True,則該數據庫將不允許再寫入數據。訪問限制:指定哪些用戶可以訪問該數據庫,可能值有以下三種。Multiple:數據庫的正常狀態,允許多個用戶同時訪問該數據庫Single:用于維護操作的狀態,一次只允許一個用戶訪問該數據庫。Restricted:只有管理員或者特定的成員才能使用該數據庫。自動關閉:如果設置為True的話,則最后一個用戶退出后,數據庫會關閉并且釋放資源。對那些經常被使用的數據庫,此選項不要設置為True,否則會額外增加開關數據庫帶來的負擔。自動收縮:如果設置為True的話,則該數據庫將定期自動收縮,釋放沒有使用的數據庫磁盤空間。C#和數據庫技術基礎第7章用表組織數據庫數據完整性為了實現完整性,數據庫需要做以下兩方面的工作。檢驗每行數據是否符合要求檢驗每列數據是否符合要求為了實現以上要求,SQLServer提供了以下四種類型的約束(Constraint)。實體完整性約束實體完整性約束要求表中的每一行數據都反映不同的實體,不能存在相同的數據行。通過索引,唯一約束,主鍵約束,或標識列屬性,可以實現表的實體完整性。域完整性約束域完整性指的是給定輸入的有效性。通過限制數據類型,檢查約束,輸入格式,外鍵約束,默認值,非空約束等多種方法,可以實現表的域完整性。引用完整性約束在強制引用完整性時,SQLServer禁止用戶進行下列操作當主表中沒有關聯的記錄時,將記錄添加到字表中。更改主表中的值并導致相關表中的記錄孤立。從主表中刪除記錄,但是相關表中仍存在與該記錄匹配的相關記錄。引用完整性通過主鍵和外鍵之間的引用關系來實現自定義完整性約束用戶自定義完整性用來定義特定的規則。C#和數據庫技術基礎第7章用表組織數據庫主鍵定義:主鍵用來唯一標識表中的每一行,用于強制表的實體完整性。一個表只能有一個主鍵,主鍵約束了表中的行是唯一的。在選擇哪個列作為主鍵的時候,需要考慮以下兩個原則:最少性和穩定性最少性是指列數最少的鍵,如果可以從單個主鍵和組合主鍵中選擇時,應該選擇單個主鍵,這是因為操作一列比操作多列要快。當然該規則也有例外,例如,兩個整數類型的列的組合比一個很大的字符類型的列要快。穩定性是指列中數據的特征,由于主鍵通常用來在兩個表之間建立聯系,所以主鍵的數據不要經常更新,理想情況下,應該永遠不改變。C#和數據庫技術基礎第7章用表組織數據庫外鍵外鍵用來強制引用完整性。一個表可以有多個外鍵。SQLServer中常用的數據類型binary,varbinary,image,char,varchar,nchar,nvarchar,text,ntext,datetime,int,smallint,tinyint,bigint,float,real,money,bitC#和數據庫技術基礎第7章用表組織數據庫標識列標識列的數據是自動生成的,不能在該列上輸入數據。如果建立了主表和子表的關系,則有以下幾種情況。子表中相關項目的數據在主表中必須存在。主表中相關項的數據更改了,則子表對應的數據項也應該隨之更改。在刪除子表之前,不能夠刪除主表。C#和數據庫技術基礎第8章用SQL語句操作數據SQL簡介SQL全稱是“結構化查詢語言(StructuredQueryLanguage)”SQL是針對數據庫而言的一門語言,它可以創建數據庫,數據表,可以針對數據庫的數據進行增,刪,改,查等操作,可以創建視圖,存儲過程,可以賦予用戶權限等。SQL的組成SQL語言主要由以下幾部分組成。DML(DataManipulationLanguage,數據操作語言,也稱為數據操縱語言):用來插入,修改和刪除數據庫中的數據,如INSERT,UPDATE,及DELETE等。DDL(DataDefinitionLanguage,數據定義語言):用來建立數據庫,數據庫對象和定義其列,大部分是以CREATE開頭的命令如CREATETABLE,CREATEVIEW及DROPTABLE等。DQL(DataQueryLanguage,數據查詢語言):用來對數據庫中的數據進行查詢,如SELECT等。DCL(DataControlLanguage,數據控制語言):用來控制數據庫組件的存取許可,存取權限等,如GRANT,REVOKE等除此之外,T-SQL還包括變量說明,內部函數等其他的命令。C#和數據庫技術基礎第8章用SQL語句操作數據SQL中的運算符算術運算符+,-,*,/,%賦值運算符=比較運算符=,<,>,<>,<=,>=邏輯運算符AND,OR,NOT使用INSERT插入數據語法》Insert[into]表名[(列名列表)]values(值列表);其中:[into]是可選的,也可以省略。表名是必須的表的列名是可選的,如果省略,將依次插入所有列。多個列名和多個值列表用逗號分隔。分號(;)是T-SQL語句終止符,分號不是必須的。C#和數據庫技術基礎第8章用SQL語句操作數據注意事項每次插入一整行數據,不可能只插入半行或者幾列數據,但允許某些列為空或使用默認值。如果違反列的非空約束,那么插入語句會檢驗失敗,不能成功插入數據。數據值的數目必須與列數相同,每個數據值的數據類型,精度和小數位數也必須與相應的列匹配。INSERT語句不能為標識列指定值,因為它的數字是自動增長的。對于字符類型,日期類型的列,當插入數據的時候,用單引號(‘)將其引起來。盡管可以不指定列名,但是最好明確指定插入的列和對應的值,以做到“心中有數”。如果在設計表的時候指定某列不允許為空,則該列必須插入數據,否則將報告錯誤信息。插入的數據項,要求符合檢查約束的要求。(default可以為擁有默認值的列插入數據)C#和數據庫技術基礎第8章用SQL語句操作數據一次插入多行數據通過insertselect語句將現有表中的數據添加到已存在的表中注意查詢得到的數據個數,順序,數據類型等,必須與插入的項保持一致新表必須預先建好,并且具有列的相關屬性。通過selectinto語句將現有表中的數據添加到新表語法》selectidentity(數據類型,標識種子,標識增長量)as列名into新表from原始表注:該表不能預先存在通過union關鍵字合并數據進行插入C#和數據庫技術基礎第8章用SQL語句操作數據使用update更新數據語法》update表名set列名=更新值[where更新條件]其中set后面可以緊隨多個數據列的更新值,不限一個,使用逗號分隔。where子句是可選的,用來限制更新數據的條件。如果不限制,則整個表的所有數據行將被更新。使用delete刪除數據語法》delete[from]表名[where<刪除條件>];提示delete語句只要刪除就是刪除整條記錄,不會只刪除單個列,所以在delete后不能出現列名使用truncatetable刪除數據truncatetable刪除表中的所以行,但是表的結構,列,約束,索引等不會被改動。truncatetable不能用于有外鍵約束引用的表,這種情況下,需要使用delete語句。truncatetable比delete執行速度快,使用的系統資源和事務日志資源更少,并且刪除數據后表的標識列會重新開始編號。導入和導出數據現場演示C#和數據庫技術基礎第9章數據查詢基礎使用select語句進行查詢語法》select<列名>from<表名>[where<查詢條件表達式>][orderby<排序的列名>[ASC或DESC]]查詢所有的數據行和列(*)查詢部分行和列在查詢中使用列的別名(as)查詢空值(isnull)在查詢中使用常量列查詢返回限制的行數(top)C#和數據庫技術基礎第9章數據查詢基礎orderbyASC升序DESC降序在查詢中使用函數常用的四類函數字符串函數日期函數數學函數系統函數C#和數據庫技術基礎第9章數據查詢基礎部分常用的字符串函數charindex用來尋找一個指定的字符串在另一個字符串中的起始位置len 返回傳遞給它的字符串長度upper 把傳遞給它的字符串轉換為大寫ltrim清除字符左邊的空格rtrim 清除字符右邊的空格right 從字符串右邊返回指定數目的字符replace替換一個字符串中的字符stuff 在一個字符串中,刪除指定長度的字符,并在該位置插入一個新的字符串C#和數據庫技術基礎第9章數據查詢基礎日期函數函數名描述舉例GETDATE取得當前的系統日期selectgetdate()返回:今天的日期例如:2009-12-2512:00:00.000DATEADD將指定的數值添加到指定的日期部分后的日期selectdateadd(mm,4,’01/01/2009’)返回:以當前的日期格式返回05/01/2009DATEDIFF兩個日期之間的指定日期部分的間隔selectdatediff(mm,’01/01/2009’,’05/01/2009’)返回:4DATENAME日期中指定日期部分的字符串形式selectdatename(dw,’01/01/2000’)返回:Saturday或星期六DATEPART日期中指定日期部分的整數形式selectdatepart(day,’01/15/2000’)返回:15C#和數據庫技術基礎第9章數據查詢基礎日期部分參數及其縮寫日期部分參數縮寫日期部分參數縮寫yearyy,yyyyweekdaydw,wquarterqq,qhourhhmonthmm,mminutemi,ndayofyeardy,ysecondss,sdaydd,dmillisecondmsweekwk,wwC#和數據庫技術基礎第9章數據查詢基礎數學函數函數名描述舉例RAND返回從0到1之間的隨即float值selectrand()返回:0.79288062146374ABS取數值表達式的絕對值selectABS(-43)返回:43CEILING向上取整,取大于或等于指定數值、表達式的最小整數selectceiling(43.5)返回:44FLOOR向下取整,取小于或等于指定表達式的最大整數selectfloor(43.5)返回:43POWER取數值表達式的冪值selectpower(5,2)返回:25ROUND將數值表達式四舍五入為指定精度selectround(43.543,1)返回:43.500SIGN對于正數返回+1,負數返回-1,對于0則返回0selectsign(-43)返回:-1SQRT取浮點表達式的平方根selectsqrt(9)返回:3C#和數據庫技術基礎第9章數據查詢基礎系統函數函數名描述舉例CONVERT用來轉變數據類型selectconvert(varchar(5),12345)返回:字符串12345CURRENT_USER返回當前用戶的名字selectcurrent_user返回:你登錄的用戶名DATALENGTH返回用于指定表達式的字節數selectdatalength(‘中國A聯盟’)返回:5HOST_NAME返回當前用戶所登陸的計算機名字selecthost_name()返回:你所登錄的計算機的名字SYSTEM_USER返回當前所登陸的用戶名稱selectsystem_user返回:你當前所登錄的用戶名USER_NAME從給定的用戶ID返回用戶名selectuser_name(1)返回:從任意數據庫中返回“dbo”C#和數據庫技術基礎第10章模糊查詢和聚合函數模糊查詢定義:模糊查詢提取的數據不一定是確切的,查詢者對查詢條件也是模糊的,大概的,不特別明確的。模糊查詢可以使用like關鍵字和通配符來進行。(isnull查詢嚴格來說也是一種模糊查詢),模糊查詢還可以基于某個范圍內的查詢和某些列舉值內的查詢C#和數據庫技術基礎第10章模糊查詢和聚合函數通配符定義:通配符是一類字符,它可以代替一個或多個真正的字符,查找信息時作為替代字符出現。通配符解釋實例_一個字符ALIKE‘C_’,則符合條件的A如CS,CD等%任意長度的字符串BLIKE‘CO%’,則符合條件的B如CONST,COKE等[]括號中所指定范圍內的一個字符CLIKE‘9W0[1-2]’,則符合條件的C如9W01或9W02[^]不在括號中所指定范圍內的任意一個字符DLIKE‘9W0[^1-2]’,則符合條件的D如9W03或9W07等C#和數據庫技術基礎第10章模糊查詢和聚合函數使用like進行模糊查詢代碼演示使用between在某個范圍內查詢區別between20and40Between40and20使用in在列舉值內進行查詢代碼演示聚合函數SUM()AVG()MAX()和MIN()COUNT()C#和數據庫技術基礎第11章聯接查詢和分組查詢使用GROUPBY進行分組查詢在select列表中可以指定的列:被分組的列為每個分組返回一個值的表達式,如聚合函數計算出的列使用HAVING子句進行分組篩選在select語句中,WHERE,GROUPBY,HAVING子句和聚合函數的執行次序如下:WHERE子句從數據源中去掉不符合其搜索條件的數據;GROUPBY子句搜集數據行到各個組,HAVING子句去掉不符合其他搜索條件的各組數據行。C#和數據庫技術基礎第11章聯接查詢和分組查詢內聯接定義:它根據表中共同的列來進行匹配。特別是兩個表存在主外鍵關系時通常會使用到內聯接查詢在where子句中指定聯接條件在from子句中使用innerjoin…onInnerjoin用來聯接兩個表Inner可以省略On用來設置條件C#和數據庫技術基礎第11章聯接查詢和分組查詢外聯接查詢外聯接是至少返回一個表中的所有記錄,根據匹配條件有選擇性地返回另一張表的記錄。左外聯接查詢Leftjoin…onJoin后面的表是字表右外聯接查詢Rightjoin…onJoin后面的表是主表C#和數據庫技術基礎第14章使用訪問數據庫簡介是.NETFramework中不可缺少的一部分,它是一組類。通過這些類,.NET可以與數據源進行連接并對數據進行增,刪,改,查等操作。的主要組件.NETFramework數據提供程序包括以下四個核心對象Connection建立和特定數據源的連接Command對數據源執行命令DataReader從數據源中讀取只進且只讀的數據流DataAdapter用數據源填充DataSet并解析更新DataSet是專門為獨立于任何數據源的數據訪問而設計的。使用它,可以不必直接和數據源打交道,可以大批量地操作數據,也可以將數據綁定在控件上。C#和數據庫技術基礎第14章使用訪問數據庫Connection對象作用:連接數據庫連接數據庫步驟:定義連接字符串語法》DataSource=服務器名;InitialCatalog=數據庫名;UserID=用戶名;Pwd=密碼;創建Connection對象語法》 SqlConnectionconnection=newSqlConnection(connString);打開和數據庫的連接語法》 connection.Open();C#和數據庫技術基礎第14章使用訪問數據庫Connection對象常用的屬性和方法屬性說明ConnectionString設置/獲取應用程序連接數據庫的連接字符串方法說明Open()使用ConnectionString屬性所指定的設置打開數據庫連接Close()關閉與數據庫的連接C#和數據庫技術基礎第14章使用訪問數據庫常見錯誤數據庫連接字符串各參數之間的分隔符錯誤數據庫連接字符串中參數名稱拼寫錯誤數據庫連接字符串中引號出現的位置不正確異常處理語法》try{//包含可能出現異常的代碼}catch(處理的異常類型){//處理異常的代碼}finally{//無論異常是否發生,該段代碼總會執行。}C#和數據庫技術基礎第14章使用訪問數據庫Command對象創建Command對象的方法 語法》 SqlCommandcommand=newSqlCommand(SQL語句,Connection對象);使用Comman對象的步驟創建數據庫連接創建一個Connection對象定義執行的SQL語句將對數據庫執行的SQL語句賦給一個字符串創建Command對象使用已有的Connection對象和SQL語句字符串創建一個Command對象執行SQL語句使用Command對象的某個方法執行命令。

C#和數據庫技術基礎第14章使用訪問數據庫Command對象的主要屬性和方法屬性說明ConnectionCommand對象使用的數據庫連接CommandTex

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論