當前位置:首頁 » 數據倉庫 » jpa枚舉值插入資料庫為空
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

jpa枚舉值插入資料庫為空

發布時間: 2023-02-01 05:56:49

⑴ 寫入數據為空

rs.open sql,conn,1,3
rs.addnew
rs("adpicurl")=adpicurl
rs("adtype")=adtype
rs("httpurl")=httpurl
rs.update
rs.close

就這段來看,沒有錯.

從你描述的操作來看,有兩個可能:
1.是你的後面的代碼有刪除的操作.試想,你先加入了,又刪除了,你的ID欄位值不是就會變了嗎?
2.你的那麼變數沒有值,也就是這些:
adpicurl
adtype
httpurl
都是空值來的.

找下其它地方的代碼吧.

⑵ JPA枚舉比較不等於失敗問題,怎麼解決

Enumerated提供了兩種持久化枚舉的方式,EnumType.ORDINAL和EnumType.STRING,但都有很大的局限性,讓人很難選擇,經常不能滿足需求
EnumType.ORDINAL:按枚舉的順序保存數字
有一些我項目不能容忍的局限性,比如
1、順序性 - java枚舉的順序從0開始遞增,沒法自己指定,我有些枚舉並不是從0開始的,或者不是+1遞增的,比如一些行業的標准代碼。
2、舊數據可能不兼容,比如-1代表刪除,映射不了
3、不健壯 - 項目那麼多人開發,保不準一個豬隊友往枚舉中間加了一個值,那完了,資料庫里的記錄就要對不上了。數據錯誤沒有異常,發現和排查比較困難
EnumType.STRING:保存枚舉的值,也就是toString()的值
同樣有局限性:
1、String類型,資料庫定義的是int,即使override toString方法返回數字的String,JPA也保存不了
2、同樣不適用舊數據,舊數據是int
3、不能改名,改了後資料庫的記錄映射不了

我對枚舉需求其實很簡單,1是保存int型,2是值可以自己指定,可惜默認的那兩種都實現不了。
沒辦法,只能考慮在保存和取出的時候自己轉換了,然後很容易就找到實體轉換器AttributeConverter,可以自定義保存好取出時的數據轉換,Yeah!(似乎)完美解決問題!

⑶ 插入mysql資料庫,sql語句沒錯,每個欄位都有值,但到插入到資料庫後值為空。為什麼

第一,在你的程序內SQL語句執行之前,把變數輸出到控制台看看是否正確接收。
第二,如果正確接收變數,把SQL在dos界面運行下,到表裡看看在不在。

⑷ jsp向mysql中插入數據 資料庫中的記錄為null

int
temp=stmt.executeUpdate("insert
into
db_need(textfield,region,field,textarea)
values('"+textfield+"','"+region+"','"+field+"','"+textarea+"')");
在這個之前
定義一個String
sql
=
("insert
into
db_need(textfield,region,field,textarea)
values('"+textfield+"','"+region+"','"+field+"','"+textarea+"')";
system.out.println(sql);
把列印出來的sql
直接去資料庫上執行一次看看是否可以執行
如果可以
就說明是你在get
connection的時候出錯
就在獲取connectiion和statement這兩個地方找錯
如果sql不能執行的話
就是sql語句錯誤

⑸ jpa id為空 為什麼還有對象

即使資料庫表中的記錄為空,jpa查詢的結果也不是null,而是一個List列表對象數為空的列表。 你之所以查詢結果為空,是因為使用hibernate(如果你是用hibernate作為jpa的實現框架的話)創建的service對象沒有創建的緣故。

⑹ 能插入數據(驗證過),但是select的結果為空,這是為什麼啊資料庫中有數據!!!

selec語句錯了 沒寫form哪個表
select 【欄位名】 form 【表名】 where 【限制條件】--where可省

⑺ c# 中,資料庫取到的值,在枚舉里為空怎麼處理

兩種處理方式。
1、在寫sql的時候
select isnull([欄位名],'') from ...
這樣就會把null的變成「」
2、在給枚舉賦值的時候,判斷一下是不是為空,若為空填充默認值

⑻ 資料庫欄位設置可以為空,插入數據就會有"null」,怎麼設置讓它不為"null"

建表的時候,欄位 not null default '';

記得採納啊