欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

Java連接access為什么只有select語(yǔ)句有效果增改刪成功但實(shí)際數(shù)據(jù)不變

Java連接access為什么只有select語(yǔ)句有效果增改刪成功但實(shí)際數(shù)據(jù)不變?

題主給的問(wèn)題描述太過(guò)簡(jiǎn)短,那么答主只能根據(jù)自己理解的方向來(lái)說(shuō)說(shuō)可能出現(xiàn)錯(cuò)誤的原因:

代碼的原因

一般情況下Java連接數(shù)據(jù)庫(kù)用的都是jdbc,不知道題主的用最基本的jdbc去寫(xiě)的連接access還是使用框架去配置連接的。

使用框架做配置連接

題主也提到了查詢能正常查詢,那就證明配置信息內(nèi)容是完全沒(méi)有問(wèn)題的,能夠正常使用。那這樣的話有可能你做增,刪,改的的時(shí)候?qū)?yīng)的數(shù)據(jù)本來(lái)是沒(méi)有刪除,你的判斷寫(xiě)的有問(wèn)題導(dǎo)致,但是這個(gè)可能性應(yīng)該不大。那就可能是sql語(yǔ)句的問(wèn)題了,下面在詳細(xì)的說(shuō)話sql語(yǔ)句的問(wèn)題。

使用最原始的jdbc操作

能在增刪改上面成功,沒(méi)有報(bào)錯(cuò)那證明你的代碼敲的是對(duì)的,但是你的對(duì)應(yīng)的引用相互調(diào)用多次,可能導(dǎo)致錯(cuò)誤,打個(gè)比喻:Connection conn=new Connection(連接數(shù)據(jù)庫(kù)的字符串);

Statement sta=conn.createStatement();

String sql="添加sql語(yǔ)句";

int count=sta.excute(sql);

然后在下面你可能在次用到Statement對(duì)象:

String sql="刪除sql語(yǔ)句";

int count=sta.excute(sql);

這個(gè)時(shí)候你多次使用同一個(gè)Statement對(duì)象很大可能會(huì)出現(xiàn)異常

在可能是你操作的數(shù)據(jù)庫(kù)和你查看的數(shù)據(jù)庫(kù)不是同一個(gè),剛好都用同樣的表格:

比如:

Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/exam?characterEncoding=UTF-8","root", "admin");

你現(xiàn)在操作的是exam數(shù)據(jù)庫(kù)里面的表格,但是你現(xiàn)在查看的卻是其它數(shù)據(jù)庫(kù);這個(gè)可能性也有但是估計(jì)也不大。

jdbc和比較傳統(tǒng)的hibernatesql語(yǔ)句的問(wèn)題

如果你是用框架是做的那很大的可能是你配置的sql語(yǔ)句做的是無(wú)用操作,什么是無(wú)用操作呢?現(xiàn)在數(shù)據(jù)庫(kù)里面已經(jīng)沒(méi)有了學(xué)號(hào)為1的學(xué)生,但是你還刪除這條數(shù)據(jù),數(shù)據(jù)庫(kù)肯定沒(méi)有反應(yīng)。不排除有這種可能但是幾率比較小。也有可能你傳遞過(guò)來(lái)的刪除,修改的條件的條件數(shù)據(jù),出現(xiàn)問(wèn)題也有可能導(dǎo)致刪除或者修改失敗。

如果你是用jdbc去做的,那很有可能sql語(yǔ)句編寫(xiě)有問(wèn)題,因?yàn)閟ql語(yǔ)句的字符串拼接其中有很多“ ”和‘ ’的拼接:

比如上圖看到的,ssex這個(gè)字段在數(shù)據(jù)庫(kù)中是一個(gè)字符類型,所以在sql語(yǔ)句中需要用‘ ’括起來(lái),這里還要拼一個(gè)獲取過(guò)來(lái)的條件。所以‘ ’和“ ”之間的拼接真的很容易出問(wèn)題。

代碼代碼,坐等代碼

總結(jié):出錯(cuò)的具體原因,真的是需要查看代碼才能具體解決,這里能給出來(lái)的提示也很有限。以上的出錯(cuò)的原因也是答主自己能給出的幾個(gè),希望能幫到題主。

如果有小伙伴有其它的提示,請(qǐng)?jiān)谠u(píng)論區(qū)留言,或者點(diǎn)個(gè)關(guān)注我們一起探討探討。