下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、C#語言和數(shù)據(jù)庫技術(shù)基礎(chǔ),猛禽,第1章第一個C#程序,.NET概述與C#應(yīng)用.NET是Microsoft.NET的簡稱,是基于Windows平臺的一種技術(shù)。它包含能在.NETFramework平臺運行的所以編程語言。C#是微軟將C,C+,Java等多種語言優(yōu)點集于一身,專為.NET開發(fā)而設(shè)計的一種完全面向?qū)ο蟮木幊陶Z言。IDE環(huán)境VisualStudio,它集成了.NETFramework,是目前最流行的.NET平臺開發(fā)環(huán)境。,第1章第一個C#程序,新建程序啟動VisualStudio2010新建項目生產(chǎn)可執(zhí)行文件開始運行經(jīng)驗運行的快捷鍵:F5:啟動。運行的快捷鍵:Ctrl+F5:開始執(zhí)行不調(diào)
2、試,第1章第一個C#程序,認(rèn)識控制臺應(yīng)用程序文件夾的結(jié)構(gòu)Program.cs:該文件是項目的啟動文件,在該文件中定義項目的啟動入口,即Main()方法。HelloWorld.exe:這個文件位于binDebug目錄下,是項目編譯后生成的可執(zhí)行文件,可以直接運行。認(rèn)識C#程序namespace命名空間相當(dāng)于Java中的packageusing用來引用其他命名空間,相當(dāng)于Java中的importclass和Java一樣表示類。Main()方法staticvoidMain(stringargs)staticvoidMain()staticintMain(stringargs)staticintMai
3、n()關(guān)鍵代碼Console.WriteLine();/從控制臺輸出內(nèi)容Console.ReadLine();/從控制臺輸入內(nèi)容,第1章第一個C#程序,C#中的數(shù)據(jù)類型C#中布爾類型為bool,字符串類型關(guān)鍵字為小寫(string)。C#中的變量語法數(shù)據(jù)類型變量名稱;命名規(guī)則組成:52個英文字母(AZ,az)、10個數(shù)字(09)、下劃線(_),除此之外不能含有其他的字符。開頭:只能以字母或下劃線開頭。不能使用的:不能是C#中的關(guān)鍵字。變量名稱要語義化。當(dāng)多個單詞組成變量名時,應(yīng)該使用駱駝(Camel)命名法。,第1章第一個C#程序,常量定義:常量就是在程序運行過程中保持不變的值。語法const
4、數(shù)據(jù)類型常量名稱=值;命名規(guī)范常量名稱必須具有一定的實際意義。常量名稱最好以大寫字母來命名,中間可以根據(jù)意義的連接性用下劃線做連接,每個常量定義的右側(cè)最好有一簡單的注釋,說明其作用。常量名稱最好不要超過25個字符,否則可讀性差。,第1章第一個C#程序,Console類C#向控制臺輸出(三種方式)Console.WriteLine();Console.WriteLine(要輸出的值);Console.WriteLIne(“格式字符串”,變量列表);C#向控制臺讀入Console.ReadLine();intage=int.Parse(Console.ReadLine();,第1章第一個C#程序,
5、自定義方法語法訪問修飾符返回類型方法名(參數(shù)列表)/方法主體方法命名規(guī)范方法名要有實際的含義,最好是動賓短語。用Pascal命名法,第1章第一個C#程序,類和對象語法訪問修飾符class類名/類的主體注釋C#中行注釋和塊注釋與Java是完全相同的,分別使用/和/*/。文檔注釋每一行都以”/”開頭。折疊把方法代碼寫在#region和#endregion之間。,第1章第一個C#程序,調(diào)試程序的步驟如下:設(shè)置斷點:按F9快捷鍵。啟動調(diào)試:按F5快捷鍵。在監(jiān)視窗口中查看變量的當(dāng)前值。,第2章C#語法快速熱身,if條件結(jié)構(gòu)簡單if結(jié)構(gòu)if(條件表達(dá)式)/代碼塊if-else結(jié)構(gòu)if(條件表達(dá)式)/代碼塊
6、1else/代碼塊2,簡單if結(jié)構(gòu)的流程圖,第2章C#語法快速熱身,多重if結(jié)構(gòu)if(條件表達(dá)式1)代碼塊1elseif(條件表達(dá)式2)代碼塊2elseif(條件表達(dá)式3)代碼塊3else代碼塊4,If-else結(jié)構(gòu)的流程圖,第2章C#語法快速熱身,嵌套if結(jié)構(gòu)if(條件表達(dá)式1)if(條件表達(dá)式2)代碼塊1else代碼塊2else代碼塊3,開始,條件表達(dá)式1,代碼塊1,結(jié)束,假,真,代碼塊2,條件表達(dá)式2,代碼塊3,真,假,嵌套if流程圖,第2章C#語法快速熱身,if結(jié)構(gòu)書寫規(guī)范為了使if結(jié)構(gòu)更加清晰,應(yīng)該把每個if或else包含的語句都用大括號括起來。相匹配的一對if和else應(yīng)該左對齊內(nèi)
7、層的if結(jié)構(gòu)相對于外層的if結(jié)構(gòu)要有一定的縮進(jìn)。大括號按規(guī)范寫法:C#中大括號“”和“”分別各占據(jù)新的一行。而Jave中左大括號“”緊跟if結(jié)構(gòu)的條件后面,右大括號“”則需要另起新的一行。switch結(jié)構(gòu)switch結(jié)構(gòu)中case字句的擺放是沒有順序的,可以把default字句放在最前面,但要注意任何兩個case語句不能具有相同的值。case中的值可以是int,char,和string類型,但必須是常量表達(dá)式,不允許使用變量。每個case和default語句中必須要有break語句。但如果case字句不包含其他語句,就不需要break語句。,第2章C#語法快速熱身,一維數(shù)組改錯:intarra
8、y=newint50,1;循環(huán)while循環(huán)語法while(條件表達(dá)式)代碼塊do-while循環(huán)語法do代碼塊while(條件表達(dá)式);,開始,條件表達(dá)式,代碼塊,結(jié)束,假,真,do-while循環(huán)的執(zhí)行過程,第2章C#語法快速熱身,for循環(huán)語法for(表達(dá)式1,表達(dá)式2,表達(dá)式3)代碼塊,開始,代碼塊,結(jié)束,假,真,for循環(huán)的執(zhí)行過程,條件表達(dá)式2,條件表達(dá)式3,條件表達(dá)式1,第2章C#語法快速熱身,foreach循環(huán)語法foreach(類型元素in集合或者組合)代碼塊語法中的“元素”是一個只讀變量,第2章C#語法快速熱身,循環(huán)應(yīng)用的區(qū)別如下while循環(huán)是先判斷條件表達(dá)式是否成立。若
9、成立則執(zhí)行循環(huán)體;否則結(jié)束循環(huán)。do-while循環(huán)先執(zhí)行一次循環(huán)體再判斷條件表達(dá)式是否成立。若成立則繼續(xù)循環(huán);否則結(jié)束循環(huán)。for循環(huán)必須使用整形變量做循環(huán)計算器,通過條件表達(dá)式限定計數(shù)器變量值來控制循環(huán)。foreach()自動遍歷給定集合的所有值。,第2章C#語法快速熱身,break語句可以用在switch,for循環(huán),foreach循環(huán),while循環(huán),do-while循環(huán)中continue語句必須出現(xiàn)在for循環(huán),foreach循環(huán),do-while循環(huán),while循環(huán)中。二重循環(huán)【代碼演示】冒泡排序外層循環(huán)n-1,內(nèi)層循環(huán)n-1-I,【代碼演示】,C#中的訪問修飾符this關(guān)鍵字th
10、is關(guān)鍵字代表的是當(dāng)前的對象。在類的內(nèi)部,可以用this關(guān)鍵字訪問它的成員。,第3章使用屬性升級MyBank,第3章使用屬性升級MyBank,C#的屬性這種結(jié)合了字段和方法的實現(xiàn)方式我們稱為屬性(propert)。語法privatestring_name;publicstringNamegetreturn_name;set_name=value;屬性的數(shù)據(jù)類型屬性的數(shù)據(jù)類型可以是一個類或一個數(shù)組。屬性的訪問類型只讀屬性,只包含get訪問器只寫屬性,只包含set訪問器讀寫屬性,包含get和set訪問器封裝字段快捷鍵Ctrl+R+E。,第3章使用屬性升級MyBank,C#中,一般為類的私有字段和屬
11、性的命名會采用不同的命名法。在為類的私有字段命名時,要以下劃線“_”開頭,隨后出現(xiàn)的英文字母采用Camel命名法。在為類的屬性命名時,采用Pascal命名法。C#中,字段和屬性的區(qū)別:通常將字段指定為private,在類內(nèi)部使用。將屬性指定為public,對外部公開,通過get和set訪問器對字段提供安全,有效范圍的保護(hù)。C#中,屬性和方法的區(qū)別:C#中屬性get訪問器和set訪問器后不需要使用“()”,因為訪問器沒有返回值,所以不需要指定void。,第3章使用屬性升級MyBank,面向?qū)ο蟮奶卣髦庋b定義:封裝是將數(shù)據(jù)和操作的方法保存在一起的技術(shù),或是有選擇地隱藏或公開類中的屬性和方法的過程
12、。封裝為我們帶來的好處避免使用非法數(shù)據(jù)賦值保證數(shù)據(jù)的完整性避免類的內(nèi)部發(fā)生修改時,導(dǎo)致整個程序的修改。值傳遞和引用傳遞值傳遞是將變量的值復(fù)制一份傳遞給方法,使得改方法的形參和實參的值相同。在調(diào)用方法中修改形參也只是對實參復(fù)制品的數(shù)據(jù)更新,并沒有真正改變實參的值。引用傳遞是將要傳遞的對象的引用復(fù)制給方法的形參,使得被調(diào)用的方法直接對引用對象進(jìn)行更改,會影響實參原來的值。(使用ref關(guān)鍵字),第4章深入C#的String類,常用字符串的處理方法Equals()Compare(stringstrA,stringstrB)IndexOf(stringvalue)LastIndexOf(stringva
13、lue)Join(stringseparator,stringvalue)Split(charseparator)Substring(intstartIndex,intlength)ToLower()ToUpper()Trim(),第4章深入C#的String類,運算符=和String類方法Equals()的區(qū)別如下=:通常來比較int,double等數(shù)值類型的數(shù)據(jù)是否相等。Equals():通常用來比較兩個對象的值是否相等?!啊焙蚐tring.Empty的作用如下“”:為String對象分配了一個長度為0的存儲空間。String.Empty:為對象分配了一個長度為0的存儲空間。,第4章深入C
14、#的String類,Format格式化語法StringmyString=String.Format(“格式字符串”,參數(shù)列表);其中格式字符串中包含固定文本和格式項。格式項的形式如下:索引,對齊:格式字符串格式化數(shù)值結(jié)果表,第4章深入C#的String類,第4章深入C#的String類,簡單的類型轉(zhuǎn)換隱式類型轉(zhuǎn)換任何數(shù)值類型A,只要其取值范圍完全包含在類型B的取值范圍類,就可以隱式轉(zhuǎn)換為類型B。顯式類型轉(zhuǎn)換sum=(int)score+bonus;注意:顯式類型轉(zhuǎn)換會丟失精度。數(shù)值類型與字符串之間的轉(zhuǎn)換字符串轉(zhuǎn)換為數(shù)值型int.Parse(string);float.Parse(string)
15、;double.Parse(string);數(shù)值型轉(zhuǎn)換為字符串stringmyage=age.ToString();,第4章深入C#的String類,常用的Convert類的類型轉(zhuǎn)換方法,第6章程序數(shù)據(jù)的集散地:數(shù)據(jù)庫,什么是數(shù)據(jù)庫?數(shù)據(jù)庫是表和數(shù)據(jù)庫訪問對象的集合。其中表分類存儲了不同的實體信息,每一行數(shù)據(jù)對應(yīng)一個實體的描述信息。當(dāng)今常用數(shù)據(jù)庫SQLServerOracleDB2MySQL,第6章程序數(shù)據(jù)的集散地:數(shù)據(jù)庫,使用數(shù)據(jù)庫的好處:可以結(jié)構(gòu)化存儲大量的數(shù)據(jù)信息,方便用戶進(jìn)行有效的檢索和訪問??梢杂行У乇3?jǐn)?shù)據(jù)信息的一致性,完整性,降低數(shù)據(jù)冗余??梢詽M足應(yīng)用的共享和安全方面的要求。數(shù)據(jù)
16、庫技術(shù)能夠方便智能化地分析,產(chǎn)生新的有用的信息。實體實體是所有客觀存在的、可以被描述的事物。記錄在數(shù)據(jù)庫的表中,每一“行”(Row)實際上對應(yīng)一個實體,這樣的一行叫做“記錄”(Record)。字段表格中的每一列,通常叫做“列”,也可以稱之為“字段”。,第6章程序數(shù)據(jù)的集散地:數(shù)據(jù)庫,數(shù)據(jù)庫和數(shù)據(jù)庫表數(shù)據(jù)庫就是表的集合,邏輯上數(shù)據(jù)庫包括數(shù)據(jù)表,存儲表間關(guān)系的表以及各種關(guān)系對象數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS,DataBaseManagementSystem)是一種系統(tǒng)軟件,由一個數(shù)據(jù)庫和一組訪問數(shù)據(jù)的程序構(gòu)成。數(shù)據(jù)庫管理系統(tǒng)的基本目標(biāo)是要提供一個可以方便有效地存取數(shù)據(jù)庫信息的環(huán)
17、境。數(shù)據(jù)庫管理系統(tǒng)的主要功能是維護(hù)數(shù)據(jù)庫,并有效地訪問數(shù)據(jù)庫中各部分的數(shù)據(jù)。數(shù)據(jù)庫系統(tǒng)(DBS,DataBaseSystem)是一個實際可運行的系統(tǒng),可以對系統(tǒng)提供的數(shù)據(jù)進(jìn)行存儲,維護(hù)和應(yīng)用,它是由存儲介質(zhì),處理對象和管理系統(tǒng)共同組成的集合體,通常由軟件,數(shù)據(jù)庫和數(shù)據(jù)庫管理員組成。數(shù)據(jù)庫由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理,數(shù)據(jù)的插入,修改,和檢索都要通過數(shù)據(jù)庫管理系統(tǒng)進(jìn)行。數(shù)據(jù)庫管理員(DBA,DataBaseAdministrator)在數(shù)據(jù)庫系統(tǒng)中負(fù)責(zé)創(chuàng)建,監(jiān)控和維護(hù)整個數(shù)據(jù)庫,使數(shù)據(jù)能被有權(quán)限使用的人有效使用。,第6章程序數(shù)據(jù)的集散地:數(shù)據(jù)庫,數(shù)據(jù)冗余和數(shù)據(jù)完整性在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)重復(fù)的現(xiàn)象就是
18、數(shù)據(jù)冗余(Redundance)數(shù)據(jù)的完整性(Integrality)是指數(shù)據(jù)庫中數(shù)據(jù)的準(zhǔn)確性。登陸SQLServer數(shù)據(jù)庫連接SQLServer數(shù)據(jù)庫時需要注意以下兩點:在連接SQLServer之前,SQLServer服務(wù)必須已經(jīng)啟動SQLServerManagementStudio可以連接和管理多個其他計算機上的SQLServer數(shù)據(jù)庫。SQLServer中數(shù)據(jù)庫按照用途可以劃分為如下兩種:系統(tǒng)數(shù)據(jù)庫用戶數(shù)據(jù)庫,第6章程序數(shù)據(jù)的集散地:數(shù)據(jù)庫,MicrosoftSQLServer2008提供的系統(tǒng)數(shù)據(jù)庫Master數(shù)據(jù)庫Tempdb數(shù)據(jù)庫Model數(shù)據(jù)庫Msdb數(shù)據(jù)庫Resource數(shù)據(jù)庫
19、新建數(shù)據(jù)庫連接SQLServer支持兩種身份認(rèn)證Windows身份驗證SQLServer身份驗證操作權(quán)限固定的數(shù)據(jù)庫操作權(quán)限有十個db_backupoperator權(quán)限可以備份數(shù)據(jù)庫db_datareader可以讀取數(shù)據(jù)庫中的數(shù)據(jù)db_denydatareader不允許讀取數(shù)據(jù),第6章程序數(shù)據(jù)的集散地:數(shù)據(jù)庫,創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)庫文件(DatabaseFile)事務(wù)日志文件(TransactionLogFile數(shù)據(jù)庫文件是存放數(shù)據(jù)庫數(shù)據(jù)和數(shù)據(jù)庫對象的文件,一個數(shù)據(jù)庫可以有多個數(shù)據(jù)庫文件,一個數(shù)據(jù)庫文件只屬于一個數(shù)據(jù)庫。當(dāng)有多個數(shù)據(jù)庫文件時,有一個文件被指定為主數(shù)據(jù)庫文件(PrimaryDataba
20、seFile),主數(shù)據(jù)庫文件的擴展名為.mdf,它用來存儲數(shù)據(jù)庫的啟動信息數(shù)據(jù)。一個數(shù)據(jù)庫只能有一個主數(shù)據(jù)庫文件,其他數(shù)據(jù)庫文件被稱為次數(shù)據(jù)庫文件(SecondaryDatabaseFile)。事務(wù)日志文件(TransactionLogFile)事物日志文件用來記錄數(shù)據(jù)庫的更新情況。事物日志文件的文件擴展名為.ldf,一個數(shù)據(jù)庫可以有一個或多個事物日志文件。,第6章程序數(shù)據(jù)的集散地:數(shù)據(jù)庫,數(shù)據(jù)庫的選項兼容級別:數(shù)據(jù)庫向以前的版本兼容的級別。數(shù)據(jù)庫為只讀:一般該選項都設(shè)置為False,如果設(shè)置為True,則該數(shù)據(jù)庫將不允許再寫入數(shù)據(jù)。訪問限制:指定哪些用戶可以訪問該數(shù)據(jù)庫,可能值有以下三種。M
21、ultiple:數(shù)據(jù)庫的正常狀態(tài),允許多個用戶同時訪問該數(shù)據(jù)庫Single:用于維護(hù)操作的狀態(tài),一次只允許一個用戶訪問該數(shù)據(jù)庫。Restricted:只有管理員或者特定的成員才能使用該數(shù)據(jù)庫。自動關(guān)閉:如果設(shè)置為True的話,則最后一個用戶退出后,數(shù)據(jù)庫會關(guān)閉并且釋放資源。對那些經(jīng)常被使用的數(shù)據(jù)庫,此選項不要設(shè)置為True,否則會額外增加開關(guān)數(shù)據(jù)庫帶來的負(fù)擔(dān)。自動收縮:如果設(shè)置為True的話,則該數(shù)據(jù)庫將定期自動收縮,釋放沒有使用的數(shù)據(jù)庫磁盤空間。,第7章用表組織數(shù)據(jù)庫,數(shù)據(jù)完整性為了實現(xiàn)完整性,數(shù)據(jù)庫需要做以下兩方面的工作。檢驗每行數(shù)據(jù)是否符合要求檢驗每列數(shù)據(jù)是否符合要求為了實現(xiàn)以上要求,S
22、QLServer提供了以下四種類型的約束(Constraint)。實體完整性約束實體完整性約束要求表中的每一行數(shù)據(jù)都反映不同的實體,不能存在相同的數(shù)據(jù)行。通過索引,唯一約束,主鍵約束,或標(biāo)識列屬性,可以實現(xiàn)表的實體完整性。域完整性約束域完整性指的是給定輸入的有效性。通過限制數(shù)據(jù)類型,檢查約束,輸入格式,外鍵約束,默認(rèn)值,非空約束等多種方法,可以實現(xiàn)表的域完整性。引用完整性約束在強制引用完整性時,SQLServer禁止用戶進(jìn)行下列操作當(dāng)主表中沒有關(guān)聯(lián)的記錄時,將記錄添加到字表中。更改主表中的值并導(dǎo)致相關(guān)表中的記錄孤立。從主表中刪除記錄,但是相關(guān)表中仍存在與該記錄匹配的相關(guān)記錄。引用完整性通過主鍵
23、和外鍵之間的引用關(guān)系來實現(xiàn)自定義完整性約束用戶自定義完整性用來定義特定的規(guī)則。,第7章用表組織數(shù)據(jù)庫,主鍵定義:主鍵用來唯一標(biāo)識表中的每一行,用于強制表的實體完整性。一個表只能有一個主鍵,主鍵約束了表中的行是唯一的。在選擇哪個列作為主鍵的時候,需要考慮以下兩個原則:最少性和穩(wěn)定性最少性是指列數(shù)最少的鍵,如果可以從單個主鍵和組合主鍵中選擇時,應(yīng)該選擇單個主鍵,這是因為操作一列比操作多列要快。當(dāng)然該規(guī)則也有例外,例如,兩個整數(shù)類型的列的組合比一個很大的字符類型的列要快。穩(wěn)定性是指列中數(shù)據(jù)的特征,由于主鍵通常用來在兩個表之間建立聯(lián)系,所以主鍵的數(shù)據(jù)不要經(jīng)常更新,理想情況下,應(yīng)該永遠(yuǎn)不改變。,第7章用
24、表組織數(shù)據(jù)庫,外鍵外鍵用來強制引用完整性。一個表可以有多個外鍵。SQLServer中常用的數(shù)據(jù)類型binary,varbinary,image,char,varchar,nchar,nvarchar,text,ntext,datetime,int,smallint,tinyint,bigint,float,real,money,bit,第7章用表組織數(shù)據(jù)庫,標(biāo)識列標(biāo)識列的數(shù)據(jù)是自動生成的,不能在該列上輸入數(shù)據(jù)。如果建立了主表和子表的關(guān)系,則有以下幾種情況。子表中相關(guān)項目的數(shù)據(jù)在主表中必須存在。主表中相關(guān)項的數(shù)據(jù)更改了,則子表對應(yīng)的數(shù)據(jù)項也應(yīng)該隨之更改。在刪除子表之前,不能夠刪除主表。,第8章用
25、SQL語句操作數(shù)據(jù),SQL簡介SQL全稱是“結(jié)構(gòu)化查詢語言(StructuredQueryLanguage)”SQL是針對數(shù)據(jù)庫而言的一門語言,它可以創(chuàng)建數(shù)據(jù)庫,數(shù)據(jù)表,可以針對數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行增,刪,改,查等操作,可以創(chuàng)建視圖,存儲過程,可以賦予用戶權(quán)限等。SQL的組成SQL語言主要由以下幾部分組成。DML(DataManipulationLanguage,數(shù)據(jù)操作語言,也稱為數(shù)據(jù)操縱語言):用來插入,修改和刪除數(shù)據(jù)庫中的數(shù)據(jù),如INSERT,UPDATE,及DELETE等。DDL(DataDefinitionLanguage,數(shù)據(jù)定義語言):用來建立數(shù)據(jù)庫,數(shù)據(jù)庫對象和定義其列,大部分是以
26、CREATE開頭的命令如CREATETABLE,CREATEVIEW及DROPTABLE等。DQL(DataQueryLanguage,數(shù)據(jù)查詢語言):用來對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行查詢,如SELECT等。DCL(DataControlLanguage,數(shù)據(jù)控制語言):用來控制數(shù)據(jù)庫組件的存取許可,存取權(quán)限等,如GRANT,REVOKE等除此之外,T-SQL還包括變量說明,內(nèi)部函數(shù)等其他的命令。,第8章用SQL語句操作數(shù)據(jù),SQL中的運算符算術(shù)運算符+,-,*,/,%賦值運算符=比較運算符=,=邏輯運算符AND,OR,NOT使用INSERT插入數(shù)據(jù)語法Insertinto表名(列名列表)values
27、(值列表);其中:into是可選的,也可以省略。表名是必須的表的列名是可選的,如果省略,將依次插入所有列。多個列名和多個值列表用逗號分隔。分號(;)是T-SQL語句終止符,分號不是必須的。,第8章用SQL語句操作數(shù)據(jù),注意事項每次插入一整行數(shù)據(jù),不可能只插入半行或者幾列數(shù)據(jù),但允許某些列為空或使用默認(rèn)值。如果違反列的非空約束,那么插入語句會檢驗失敗,不能成功插入數(shù)據(jù)。數(shù)據(jù)值的數(shù)目必須與列數(shù)相同,每個數(shù)據(jù)值的數(shù)據(jù)類型,精度和小數(shù)位數(shù)也必須與相應(yīng)的列匹配。INSERT語句不能為標(biāo)識列指定值,因為它的數(shù)字是自動增長的。對于字符類型,日期類型的列,當(dāng)插入數(shù)據(jù)的時候,用單引號()將其引起來。盡管可以不指
28、定列名,但是最好明確指定插入的列和對應(yīng)的值,以做到“心中有數(shù)”。如果在設(shè)計表的時候指定某列不允許為空,則該列必須插入數(shù)據(jù),否則將報告錯誤信息。插入的數(shù)據(jù)項,要求符合檢查約束的要求。(default可以為擁有默認(rèn)值的列插入數(shù)據(jù)),第8章用SQL語句操作數(shù)據(jù),一次插入多行數(shù)據(jù)通過insertselect語句將現(xiàn)有表中的數(shù)據(jù)添加到已存在的表中注意查詢得到的數(shù)據(jù)個數(shù),順序,數(shù)據(jù)類型等,必須與插入的項保持一致新表必須預(yù)先建好,并且具有列的相關(guān)屬性。通過selectinto語句將現(xiàn)有表中的數(shù)據(jù)添加到新表語法selectidentity(數(shù)據(jù)類型,標(biāo)識種子,標(biāo)識增長量)as列名into新表from原始表注:
29、該表不能預(yù)先存在通過union關(guān)鍵字合并數(shù)據(jù)進(jìn)行插入,第8章用SQL語句操作數(shù)據(jù),使用update更新數(shù)據(jù)語法update表名set列名=更新值where更新條件其中set后面可以緊隨多個數(shù)據(jù)列的更新值,不限一個,使用逗號分隔。where子句是可選的,用來限制更新數(shù)據(jù)的條件。如果不限制,則整個表的所有數(shù)據(jù)行將被更新。使用delete刪除數(shù)據(jù)語法deletefrom表名where;提示delete語句只要刪除就是刪除整條記錄,不會只刪除單個列,所以在delete后不能出現(xiàn)列名使用truncatetable刪除數(shù)據(jù)truncatetable刪除表中的所以行,但是表的結(jié)構(gòu),列,約束,索引等不會被改動
30、。truncatetable不能用于有外鍵約束引用的表,這種情況下,需要使用delete語句。truncatetable比delete執(zhí)行速度快,使用的系統(tǒng)資源和事務(wù)日志資源更少,并且刪除數(shù)據(jù)后表的標(biāo)識列會重新開始編號。導(dǎo)入和導(dǎo)出數(shù)據(jù)現(xiàn)場演示,第9章數(shù)據(jù)查詢基礎(chǔ),使用select語句進(jìn)行查詢語法selectfromwhereorderbyASC或DESC查詢所有的數(shù)據(jù)行和列(*)查詢部分行和列在查詢中使用列的別名(as)查詢空值(isnull)在查詢中使用常量列查詢返回限制的行數(shù)(top),第9章數(shù)據(jù)查詢基礎(chǔ),orderbyASC升序DESC降序在查詢中使用函數(shù)常用的四類函數(shù)字符串函數(shù)日期函數(shù)
31、數(shù)學(xué)函數(shù)系統(tǒng)函數(shù),第9章數(shù)據(jù)查詢基礎(chǔ),部分常用的字符串函數(shù)charindex用來尋找一個指定的字符串在另一個字符串中的起始位置len返回傳遞給它的字符串長度upper把傳遞給它的字符串轉(zhuǎn)換為大寫ltrim清除字符左邊的空格rtrim清除字符右邊的空格right從字符串右邊返回指定數(shù)目的字符replace替換一個字符串中的字符stuff在一個字符串中,刪除指定長度的字符,并在該位置插入一個新的字符串,第9章數(shù)據(jù)查詢基礎(chǔ),日期函數(shù),第9章數(shù)據(jù)查詢基礎(chǔ),日期部分參數(shù)及其縮寫,第9章數(shù)據(jù)查詢基礎(chǔ),數(shù)學(xué)函數(shù),第9章數(shù)據(jù)查詢基礎(chǔ),系統(tǒng)函數(shù),第10章模糊查詢和聚合函數(shù),模糊查詢定義:模糊查詢提取的數(shù)據(jù)不一定
32、是確切的,查詢者對查詢條件也是模糊的,大概的,不特別明確的。模糊查詢可以使用like關(guān)鍵字和通配符來進(jìn)行。(isnull查詢嚴(yán)格來說也是一種模糊查詢),模糊查詢還可以基于某個范圍內(nèi)的查詢和某些列舉值內(nèi)的查詢,第10章模糊查詢和聚合函數(shù),通配符定義:通配符是一類字符,它可以代替一個或多個真正的字符,查找信息時作為替代字符出現(xiàn)。,第10章模糊查詢和聚合函數(shù),使用like進(jìn)行模糊查詢代碼演示使用between在某個范圍內(nèi)查詢區(qū)別between20and40Between40and20使用in在列舉值內(nèi)進(jìn)行查詢代碼演示聚合函數(shù)SUM()AVG()MAX()和MIN()COUNT(),第11章聯(lián)接查詢和
33、分組查詢,使用GROUPBY進(jìn)行分組查詢在select列表中可以指定的列:被分組的列為每個分組返回一個值的表達(dá)式,如聚合函數(shù)計算出的列使用HAVING子句進(jìn)行分組篩選在select語句中,WHERE,GROUPBY,HAVING子句和聚合函數(shù)的執(zhí)行次序如下:WHERE子句從數(shù)據(jù)源中去掉不符合其搜索條件的數(shù)據(jù);GROUPBY子句搜集數(shù)據(jù)行到各個組,HAVING子句去掉不符合其他搜索條件的各組數(shù)據(jù)行。,第11章聯(lián)接查詢和分組查詢,內(nèi)聯(lián)接定義:它根據(jù)表中共同的列來進(jìn)行匹配。特別是兩個表存在主外鍵關(guān)系時通常會使用到內(nèi)聯(lián)接查詢在where子句中指定聯(lián)接條件在from子句中使用innerjoinonInn
34、erjoin用來聯(lián)接兩個表Inner可以省略O(shè)n用來設(shè)置條件,第11章聯(lián)接查詢和分組查詢,外聯(lián)接查詢外聯(lián)接是至少返回一個表中的所有記錄,根據(jù)匹配條件有選擇性地返回另一張表的記錄。左外聯(lián)接查詢LeftjoinonJoin后面的表是字表右外聯(lián)接查詢RightjoinonJoin后面的表是主表,第14章使用ADO.NET訪問數(shù)據(jù)庫,ADO.NET簡介ADO.NET是.NETFramework中不可缺少的一部分,它是一組類。通過這些類,.NET可以與數(shù)據(jù)源進(jìn)行連接并對數(shù)據(jù)進(jìn)行增,刪,改,查等操作。ADO.NET的主要組件.NETFramework數(shù)據(jù)提供程序包括以下四個核心對象Connection建立
35、和特定數(shù)據(jù)源的連接Command對數(shù)據(jù)源執(zhí)行命令DataReader從數(shù)據(jù)源中讀取只進(jìn)且只讀的數(shù)據(jù)流DataAdapter用數(shù)據(jù)源填充DataSet并解析更新DataSet是專門為獨立于任何數(shù)據(jù)源的數(shù)據(jù)訪問而設(shè)計的。使用它,可以不必直接和數(shù)據(jù)源打交道,可以大批量地操作數(shù)據(jù),也可以將數(shù)據(jù)綁定在控件上。,第14章使用ADO.NET訪問數(shù)據(jù)庫,Connection對象作用:連接數(shù)據(jù)庫連接數(shù)據(jù)庫步驟:定義連接字符串語法DataSource=服務(wù)器名;InitialCatalog=數(shù)據(jù)庫名;UserID=用戶名;Pwd=密碼;創(chuàng)建Connection對象語法SqlConnectionconnection
36、=newSqlConnection(connString);打開和數(shù)據(jù)庫的連接語法connection.Open();,第14章使用ADO.NET訪問數(shù)據(jù)庫,Connection對象常用的屬性和方法,第14章使用ADO.NET訪問數(shù)據(jù)庫,常見錯誤數(shù)據(jù)庫連接字符串各參數(shù)之間的分隔符錯誤數(shù)據(jù)庫連接字符串中參數(shù)名稱拼寫錯誤數(shù)據(jù)庫連接字符串中引號出現(xiàn)的位置不正確異常處理語法try/包含可能出現(xiàn)異常的代碼catch(處理的異常類型)/處理異常的代碼finally/無論異常是否發(fā)生,該段代碼總會執(zhí)行。,第14章使用ADO.NET訪問數(shù)據(jù)庫,Command對象創(chuàng)建Command對象的方法語法SqlCommandcommand=newSqlCommand(SQL語句,Connection對象);使用Comman對象的步驟創(chuàng)建數(shù)據(jù)庫連接創(chuàng)建一個Connection對象定義執(zhí)行的SQL語句將對數(shù)據(jù)庫執(zhí)行的SQL語句賦給一個字符串創(chuàng)建Command對象使用已有的Connection對象和SQL語句字符串創(chuàng)建一個Command對象執(zhí)行SQL語句使用Command對象的某個方法執(zhí)行命令。,第14章使用ADO.NET訪問數(shù)據(jù)庫,Command對象的主要屬性和方法,第15章使用ADO.NET查詢和操作數(shù)據(jù),StringBuilder常用的屬性和方法
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店集團(tuán)財務(wù)制度
- 村集體建立相關(guān)財務(wù)制度
- 甘肅省社會團(tuán)體財務(wù)制度
- 街道辦事處健全財務(wù)制度
- 小企業(yè)公司內(nèi)部財務(wù)制度
- 雙簽字雙負(fù)責(zé)財務(wù)制度
- 農(nóng)村公廁管護(hù)制度
- 醫(yī)院出入人員管理制度范本(3篇)
- 標(biāo)點地產(chǎn)策劃活動方案(3篇)
- 常熟裝修施工方案(3篇)
- 2026年滁州全椒縣教育體育局所屬學(xué)校校園招聘教師16名筆試備考題庫及答案解析
- 保溫一體板外墻施工方案
- 廣州大學(xué)2026年第一次公開招聘事業(yè)編制輔導(dǎo)員備考題庫及1套參考答案詳解
- 廣州市衛(wèi)生健康委員會直屬事業(yè)單位廣州市第十二人民醫(yī)院2025年第一次公開招聘備考題庫完整答案詳解
- 2024-2025學(xué)年廣東省廣州市越秀區(qū)八年級上學(xué)期期末數(shù)學(xué)試卷(含答案)
- (正式版)DB51∕T 3340-2025 《特長公路隧道消防站建設(shè)規(guī)范》
- 2026年中職財經(jīng)商貿(mào)類專業(yè)教師資格證面試含答案
- 2026屆江蘇省徐州市侯集高級中學(xué)高一上數(shù)學(xué)期末復(fù)習(xí)檢測試題含解析
- 2026年太原城市職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)筆試備考試題附答案詳解
- 2026中國電信四川公司校園招聘備考題庫附答案
- 陰莖瘺護(hù)理課件
評論
0/150
提交評論