C#講義(數(shù)據(jù)庫部分)_第1頁
C#講義(數(shù)據(jù)庫部分)_第2頁
C#講義(數(shù)據(jù)庫部分)_第3頁
C#講義(數(shù)據(jù)庫部分)_第4頁
C#講義(數(shù)據(jù)庫部分)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、膅肆蒞螆肁肅蒈薈羇肅薀螄袃肄芀薇蝿膃莂螂肈膂蒄薅羄膁薆螁羀膀莆薃袆腿蒈衿螂腿薁螞肀膈芀袇羆膇莃蝕袂芆蒅裊螈芅薇蚈肇芄芇蒁肅芄葿蚇罿芃薂蕿裊節(jié)芁螅螁芁莄薈聿芀蒆螃羅荿薈薆袁莈羋螁螇莈莀薄膆莇薂袀肂莆蚅螞羈蒞莄袈襖羈蕆蟻螀羈蕿袆聿肀艿蠆羅聿莁裊袁肈蒃蚇袇肇蚆蒀膅肆蒞螆肁肅蒈薈羇肅薀螄袃肄芀薇蝿膃莂螂肈膂蒄薅羄膁薆螁羀膀莆薃袆腿蒈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇

2、肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁

3、袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊

4、膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀

5、羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄

6、芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈

7、肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅

8、袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀

9、膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖

10、羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈

11、膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂

12、肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇

13、衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁

14、肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈

15、羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂

16、膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆

17、聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁

18、袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅

19、肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆

20、羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆

21、膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀

22、羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊

23、袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿

24、肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃

25、羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇

26、腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄

27、羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿

28、袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃

29、肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇

30、袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋蟻螁膀羋莀羇肆芇蒃螀羂莆薅羅袈蒞蚇螈膇莄莇薁肅莃蕿螆聿莂蟻蠆羅莂莁裊袁莁蒃蚇腿莀薆袃肅葿蚈蚆羈蒈莈袁袇蕆蒀蚄芆蕆螞袀膂蒆螅螂肈蒅蒄羈羄肁薇螁袀肀蠆羆膈肀荿蝿肄腿蒁羄羀膈薃螇袆膇螅薀芅膆蒅裊膁膅薇蚈肇膄蝕襖羃膄荿蚇衿芃蒂袂膈節(jié)薄蚅肄芁蚆袀羀芀蒆蚃羆艿薈罿袂羋 第

31、8章 數(shù)據(jù)庫應(yīng)用開發(fā)ado.net是以.net framework為基礎(chǔ)的全新的數(shù)據(jù)庫操作模型。是專門為.net平臺上訪問數(shù)據(jù)庫而開發(fā)的。更適用于分布式和internet訪問等大型應(yīng)用程序開發(fā)。為程序設(shè)計人員提供方便、快捷、直觀的存取數(shù)據(jù)。8.1 ado.net的基本概念應(yīng)用程序訪問數(shù)據(jù)庫的一般過程:a、建立數(shù)據(jù)庫連接b、發(fā)出sql語句c、數(shù)據(jù)庫響應(yīng)并返回結(jié)果上述訪問數(shù)據(jù)庫的三個步驟分別由不用的對象來完成,使用ado.net訪問數(shù)據(jù)庫的對象如下圖所示: 圖81ado.net的兩個核心組件:dataset和.net framework數(shù)據(jù)提供程序,后者是一組包括connection、comman

32、d、datareader和dataadapter對象在內(nèi)的組件。ado.net dataset是ado.net的斷開式結(jié)構(gòu)的核心組件。dataset可以用于多種不同的數(shù)據(jù)源,以及xml數(shù)據(jù)。dataset包含一個或多個datatable對象的集合以及數(shù)據(jù)的關(guān)系信息等。ado.net結(jié)構(gòu)的另一個核心元素是.net framework數(shù)據(jù)提供程序,數(shù)據(jù)提供程序是為了實現(xiàn)數(shù)據(jù)操作和對數(shù)據(jù)的快速、只進、只讀訪問。connection對象提供與數(shù)據(jù)源的連接。command對象使您能夠訪問用于返回數(shù)據(jù)、修改數(shù)據(jù)、運行存儲過程以及發(fā)送或檢索參數(shù)信息的數(shù)據(jù)庫命令。datareader從數(shù)據(jù)源中提供高性能的數(shù)據(jù)

33、流。dataadapter提供連接dataset對象和數(shù)據(jù)源的橋梁。dataadapter使用command對象在數(shù)據(jù)源中執(zhí)行sql命令,以便將數(shù)據(jù)加載到dataset中,并使對dataset中數(shù)據(jù)的更改與數(shù)據(jù)源保持一致。.net framework提供了四個.net framework數(shù)據(jù)提供程序:sql server.net framework數(shù)據(jù)提供程序、ole db.net framework數(shù)據(jù)提供程序、odbc.net framework數(shù)據(jù)提供程序和oracle .net framework數(shù)據(jù)提供程序。使用ado.net開發(fā)數(shù)據(jù)庫應(yīng)用程序的一般步驟為:(1)根據(jù)使用的數(shù)據(jù)源,確

34、定使用的數(shù)據(jù)提供程序。(2)建立與數(shù)據(jù)源的連接,需要使用connection對象。(3)執(zhí)行對數(shù)據(jù)源的操作命令,通常是sql命令,需要使用command對象。(4)使用數(shù)據(jù)集對獲得的數(shù)據(jù)進行操作,需要使用datareader(連接模型)、dataset(無連接模型)等對象。(5)向用戶顯示數(shù)據(jù),需要使用數(shù)據(jù)控件。(6)關(guān)閉連接。8.2 connection對象8.2.1 主要連接對象connection負責(zé)應(yīng)用程序與數(shù)據(jù)庫的連接。對于不同的數(shù)據(jù)庫主要有以下兩種connection對象。1、sqlconnection,表示sql server數(shù)據(jù)庫的連接,連接sql server專用,速度和性能

35、都有很大的改善。使用該類必須引入命名空間:system.data.sqlclient。2、oledbconnection類,連接到提供ole db數(shù)據(jù)庫驅(qū)動程序的數(shù)據(jù)庫,包括sql server、access、vfp等數(shù)據(jù)庫。使用該類必須引入命名空間:system.data.oledb。3、odbc:連接odbc數(shù)據(jù)源。使用該類必須引入命名空間:system.data.odbc。本章中我們以連接sql sever數(shù)據(jù)庫為例。8.2.2 連接對象的成員 構(gòu)造函數(shù)構(gòu)造函數(shù)有以下兩種形式:public oledbconnection();/初始化oledbconnection類的新實例

36、。public oledbconnection(string);/ 使用指定的連接字符串初始化oledbconnection類的新實例。如果僅適用于sql server數(shù)據(jù)庫的連接,可使用sqlconnection對象。public sqlconnection();public sqlconnection(string); 公共屬性connectionstring獲取或設(shè)置用于打開數(shù)據(jù)庫的字符串。connectiontimeout獲取在嘗試建立連接時終止嘗試并生成錯誤之前所等待的時間。database/initial catalog獲取當(dāng)前數(shù)據(jù)庫或連接打開后要使用的數(shù)據(jù)庫的名稱。

37、datasource/server獲取或設(shè)置數(shù)據(jù)源的服務(wù)器名或ip地址,若為sqlconnection,則為相應(yīng)的服務(wù)器名及sql實例名。provider獲取在連接字符串的“provider =”子句中指定的ole db提供程序的名稱。若使用sqlconnection,則無需指定。serverversion獲取包含客戶端所連接到的服務(wù)器的版本的字符串。state獲取連接的當(dāng)前狀態(tài)。返回connectionstate枚舉的值。若使用專用連接,可不指定數(shù)據(jù)提供者。例1:使用oledbconnection連接到本機的northwind數(shù)據(jù)庫string cstring=”provider=sqlol

38、edb;data source=(local)gj;initial catalog=northwind;integrated security=sspi;”oledbconnection myconn=new oledbconnection(cstring);myconn.open();messagebox.show(myconn.state.tostring();注意:當(dāng)服務(wù)器為本地服務(wù)器時,可使用(local)、localhost、“.”等。data source=(local)或data source=localhost當(dāng)然也可直接使用機器名稱,如:data source=jsjgj例2

39、:使用sqlconnection對象連接到本機的northwind數(shù)據(jù)庫sqlconnection myconn=new sqlconnection();myconn.connectionstring=”data source=(local)gj;initial catalog=northwind;integrated security=sspi;”;myconn.open();例3:連接到northwind數(shù)據(jù)庫的另一種方式sqlconnection myconn=new sqlconnection();myconn.connectionstring=”server=(local)gj;da

40、tabase=northwind;integrated security=sspi;”;myconn.open();messagebox.show(myconn.state.tostring();例4:連接到access數(shù)據(jù)庫oledbconnection dbcon=new oledbconnection();dbcon. connectionstring=”provider=microsoft.jet.oledb.4.0; data source=c:binlocalaccess40.mdb”例5:對sql server連接時數(shù)據(jù)庫的安全性控制對數(shù)據(jù)庫的安全性連接,主要有以下兩種方式:(1

41、)windows身份驗證,即使用當(dāng)前的windows帳戶憑據(jù)進行身份驗證。使用集成安全性建立與sql server間受信任的連接。這將允許使用連接字符串,該字符串免除在連接字符串中保存密碼的需要。該連接方式常用方式有:integrated security=true/sspi;trusted_connection=true/sspi;如: “data source=mysqlserver;integrated security=sspi;initial catalog=mydb”或:”server=(local);database=sm;trusted_connection=yes;”;(2)

42、sql server身份驗證,使用合法的用戶名及口令。如:“data source=mysqlserver;uid=sa;pwd=;initial catalog=mydb” 公共方法begintransaction 已重載。開始數(shù)據(jù)庫事務(wù)。changedatabase 為打開的connection更改當(dāng)前數(shù)據(jù)庫。close 關(guān)閉與數(shù)據(jù)庫的連接。這是關(guān)閉任何打開連接的首選方法。createcommand 創(chuàng)建并返回一個與connection關(guān)聯(lián)的command對象。dispose已重載。釋放由component占用的資源。open 使用connectionstring所指定的屬性

43、設(shè)置打開數(shù)據(jù)庫連接。tostring 返回表示當(dāng)前object的string。如將myconn連接改為pubs數(shù)據(jù)庫。myconn.changedatabase(“pubs”);messagebox.show(myconn.state.tostring()+” “+myconn.database.tostring();可視化連接演示注意:ado.net可使用連接池對已創(chuàng)建的連接進行管理。連接池可減少新連接需要打開的次數(shù)。池進程保持物理連接的所有權(quán)。通過為每個給定的連接配置保留一組活動連接來管理連接。只要用戶在連接上調(diào)用open,池進程就會檢查池中是否有可用的連接。如果某個池連接可用,會將該連接

44、返回給調(diào)用者,而不是打開新連接。應(yīng)用程序在該連接上調(diào)用close時,池進程會將連接返回到活動連接池集中,而不是真正關(guān)閉連接。連接返回到池中之后,即可在下一個open調(diào)用中重復(fù)使用。8.3 command對象表示要對數(shù)據(jù)源執(zhí)行的sql語句(查、刪、改、插)或存儲過程(sql命令集合)。有兩種類型的command類:1、sqlcommand類:表示要對sql server數(shù)據(jù)庫執(zhí)行的一個transact-sql語句或存儲過程。(操作sql server數(shù)據(jù)庫專用)2、oledbcommand類:表示要對數(shù)據(jù)源執(zhí)行的sql語句或存儲過程。只要提供相應(yīng)的oledb數(shù)據(jù)庫驅(qū)動程序,就能對任何數(shù)據(jù)庫操作。

45、以oledbcommand類為例:8.3.1 構(gòu)造函數(shù)1、public sqlcommand();/初始化sqlcommand類的新實例。2、public sqlcommand(string);/初始化具有查詢文本的sqlcommand類的新實例。3、public sqlcommand(string,sqlconnection);/初始化具有查詢文本和sqlconnection的sqlcommand類的新實例。4、public sqlcommand(string,sqlconnection,sqltransaction);/初始化具有查詢文本、sqlconnection和transaction

46、的sqlcommand類的新實例。8.3.2 常用公共(public)屬性1、commandtext:獲取或設(shè)置要對數(shù)據(jù)源執(zhí)行的sql語句或存儲過程。commandtext的類型由commandtype屬性指定。2、commandtimeout:獲取或設(shè)置在終止對執(zhí)行命令的嘗試并生成錯誤之前的等待時間。3、commandtype:獲取或設(shè)置一個指示如何解釋commandtext屬性的值。其值?。?storedprocedure :表示commandtext中存儲的是存儲過程的名稱。 tabledirect :將commandtext屬性設(shè)置為要訪問的一個或多個表的名稱。多個表之間使用逗號分隔,

47、不能有空格或空白。 text:sql文本命令。(默認)4、connection:獲取或設(shè)置sqlcommand的此實例使用的sqlconnection。5、parameters:獲取或設(shè)置sqlparametercollection。(后面講解)6、transaction:獲取或設(shè)置將在其中執(zhí)行sqlcommand的sqltransaction。8.3.3 常用方法1、executenonquery:執(zhí)行sql insert、delele和update語句等命令,并返回受影響的行數(shù)。一般用于執(zhí)行無須返回結(jié)果的命令。如需異步執(zhí)行,則應(yīng)用beginexecutenonquery執(zhí)行,endexec

48、utenonquery完成該語句的異步執(zhí)行。例:添加操作private void button1_click(object sender, eventargs e) string strconn, strsql; strconn = “data source=(local);initial catalog=stuman;integrated security=sspi;”; sqlconnection cn = new sqlconnection(strconn); cn.open(); strsql = “insert into student values(111,張三豐,男,1970-0

49、6-02,武當(dāng),湖北省,null);”; sqlcommand cmd = new sqlcommand(); cmd.connection = cn; cmd.commandtext = strsql; cmd.executenonquery(); 2、executereader:執(zhí)行返回行的命令(如select),將commandtext發(fā)送到connection并生成一個datareader類型的對象。一般用于執(zhí)行有返回結(jié)果(表)的命令。如需異步執(zhí)行,則應(yīng)用beginexecutereader執(zhí)行,endexecutereader完成該語句的異步執(zhí)行。例:private void but

50、ton1_click(object sender, eventargs e) try string strconn, strsql; strconn = “data source=(local);initial catalog=stuman;integrated security=sspi;”; sqlconnection cn = new sqlconnection(strconn); cn.open(); strsql = “select * from student”; sqlcommand cmd = new sqlcommand(strsql, cn); sqldatareader

51、dr = cmd.executereader(); datatable dt = new datatable(); dt.load(dr); dr.close(); datagridview1.datasource = dt; catch (exception ee) messagebox.show(ee.message); 3、executescalar:執(zhí)行查詢,并返回查詢所返回的結(jié)果集中第一行的第一列或空引用。忽略額外的列或行。常用于從數(shù)據(jù)庫中檢索單個值(例如:僅檢索某行的其中一列的值或一個聚合值)。此功能完全可以由executereader代替,但是此命令的優(yōu)點是代碼較少,簡潔。如需異

52、步執(zhí)行,則應(yīng)用beginexecutescalar執(zhí)行,endexecutescalar完成該語句的異步執(zhí)行。private void button1_click(object sender, eventargs e) try string strconn, strsql; strconn = “data source=(local);initial catalog=stuman;integrated security=sspi;”; sqlconnection cn = new sqlconnection(strconn); cn.open(); strsql = “select count

53、(*) from student”; sqlcommand cmd = new sqlcommand(strsql, cn); textbox1.text =cmd.executescalar().tostring(); catch (exception ee) messagebox.show(ee.message); 8.3.4 執(zhí)行參數(shù)化查詢有時我們需要執(zhí)行帶條件查詢,而且條件值不固定,如“查詢學(xué)號為n的學(xué)生信息”,其中學(xué)號不固定,此時便可以使用參數(shù)化查詢方式。參數(shù)化查詢使用sqlcommand.parameters屬性即可實現(xiàn)。l 使用參數(shù)化查詢,必須在查詢語句中使用參變量。例如:sel

54、ect * from customers where customerid = id l parameters屬性實際上是一個sqlparametercollection集合,它的元素是sqlparameter類的實例,分別對應(yīng)著命令中設(shè)置的變量,因此向sqlparametercollection添加sqlparameter對象的順序必須直接對應(yīng)于該參數(shù)的變量在命令文本中的位置,如果集合中的參數(shù)不匹配要執(zhí)行的查詢的要求,則可能會導(dǎo)致錯誤。 sqlparameter類的常用成員parametername:指定參數(shù)名稱。sqldbtype:為參數(shù)指定sqldb數(shù)據(jù)類型。value:指

55、定參數(shù)值。sourcecolumn:獲取或設(shè)置源列的名稱,該源列映射到dataset并用于加載或返回value。add(參數(shù)名,參數(shù)類型,對數(shù)寬度)方法:用于添加參數(shù)。其中:參數(shù)名:以開頭。參數(shù)類型為sqldbtype類型 舉例例1:單參數(shù)查詢using system;using system.data.sqlclient;class class1static void main(string args)string strconn,strsql;strconn=”data source=(local);initial catalog=stuman;integrated security=sspi;”;sqlconnection cn=new sqlconnection(strconn);cn.open();strsql=”select xh,xm,xb from student where xm=?”;sqlcommand cmd=new oledbcommand

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論