ResultSet只返回一行資料的原因

2022-05-12 17:28:33 字數 1051 閱讀 2519

寫之前,先告戒一下自己......寫**一定要細心,自己寫的即使是非常簡單的地方也要細心,不能自我感覺太良好,那往往可能會有些bug在等著你......

注意事項:

1、當你為了檢視資料庫中是否存在某條記錄時,比如查詢表中是否有某賬號名,有就返回前台乙個「該賬號已註冊」的訊息。諸如此類的單查詢時,可以這麼寫:

if

(rs.next())

else

這裡用了「if」,是可以的,因為就是為了檢視是否有這麼個user,有就返回資訊,沒有就null。但是,如果想要返回的不止是乙個user,而是我想檢視所有的user,或者加上某些條件。總之想要查詢得到乙個集合,然後存入list或者map,記住!用while,而不是if。可能大多數人不會跟我一樣傻......寫在這裡提醒自己一下吧,要是有緣人相見,但願對你有所幫助。

product product = new

product();

while

(rs.next())

這裡,當你把這個product物件放在while迴圈外面是錯的,但是並不會只返回一條記錄,而是會返回很多條一樣的記錄。這是因為只有乙個product物件在不停的被add在list裡面,但是經過實踐檢驗,我發現重複add的都是表中最後一條記錄:

比如此表,執行查詢add到list之後:

這在我的理解中是因為第乙個product在add到list之後,第二個product(其實還是第乙個product,因為就乙個product物件)被賦予了新的屬性,同時第乙個product的屬性也會被重新整理覆蓋了。以此類推,直到最後乙個product的屬性被重新賦予,之前所有的list記錄都會被重新整理變為最後一次所賦予的屬性值。不知道原理是不是這樣,我就先這麼理解了...... 

所以,這麼寫的**並不會造成resultset只有一行的錯誤......

openpyxl 讀取excel中某一行資料

記錄一下本人做專案ui自動化中讀取excel中資料的操作,只是封裝了讀取某一行資料的功能 import openpyxl class excel def init self,filename self.file name filename def get rows value self,sheetn...

pandas 增加一行資料

常用的方法 df dataframe columns lib qty1 qty2 for i in range 5 df.loc i randint 1,1 for n in range 3 loc可以對沒有的 index 進行賦值,而 iloc 則不允許,iloc只能對已經存在的位置進行操作。pr...

java JTable中動態新增 增加一行資料

新建 原理 用model給jtable填充資料,vector給model填充資料,vector給vector填充資料 vector vdata new vector vector vname new vector vname.add column1 vname.add column2 vector ...