Java程序設(shè)計案例教程(第2版)課件 9.5.2多條件按需查詢_第1頁
Java程序設(shè)計案例教程(第2版)課件 9.5.2多條件按需查詢_第2頁
Java程序設(shè)計案例教程(第2版)課件 9.5.2多條件按需查詢_第3頁
Java程序設(shè)計案例教程(第2版)課件 9.5.2多條件按需查詢_第4頁
Java程序設(shè)計案例教程(第2版)課件 9.5.2多條件按需查詢_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

浙江經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院JDBCJava語言程序設(shè)計Unit9主講王昌建9.5.1分頁查詢9.5.3更新替代刪除9.5.4批量處理9.5JDBC常用技巧9.5.2多條件按需查詢9.5.5事務(wù)管理9.5.2多條件按需查詢在實際應(yīng)用中,有時候查詢條件的數(shù)量是不固定的,用戶可以根據(jù)自己的需要添加多個條件,這就對編寫程序造成了一定的難度,因為編程人員無法預(yù)知用戶會選哪個條件,這對構(gòu)造查詢SQL語句造成麻煩。問題的提出我們可以采用添加where1=1子句來解決這個問題。where1=1有什么用?在SQL語言中,寫這么一句話就跟沒寫一樣。select*fromtablewhere1=1與select*fromtable完全沒有區(qū)別,其目的就是讓where的條件為永遠(yuǎn)為真。解決方案9.5.2多條件按需查詢解決方案繼續(xù)探討在不確定查詢條件數(shù)量的情況下,1=1可以很方便地規(guī)范語句。假定有一個學(xué)生表Student,有name、sex和age三個字段,對該表的查詢可以是沒有查詢條件的查詢?nèi)繉W(xué)生,也可以是根據(jù)name、sex和age中的一個或多個進(jìn)行設(shè)定查詢條件。常見的代碼實現(xiàn):Stringsql=select*fromtablewhere1=1;if(!name.equals("")){sql=sql+"andname='"+name+"'";}if(!sex.equals("")){sql=sql+"andsex='"+sex+"'";}if(!age.equals("")){sql=sql+"andage='"+age+"'";}9.5.2多條件按需查詢解決方案繼續(xù)探討如果不寫where1=1的影響在每一個不為空的查詢條件面前,都必須判斷有沒有where子句,并且要在第一個條件出現(xiàn)的地方加上where子句才能保證SQL語句的正確。若提前將where子句寫入前面的查詢語句中,則可能會出現(xiàn)where后面直接就是“and”而導(dǎo)致語法錯誤。

結(jié)論where1=1的寫法是為了簡化程序中對條件的檢測,用來構(gòu)造多條件查詢的一個常用方法。

上述代碼直接以

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論