jsp連接數據庫的奇怪有關問題(jsp連接數據庫失敗)

本文目錄一覽:

在jsp中連接數據庫出錯

ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

你的sql驅動包沒有在發布的時候引入

JSP頁面上連接數據庫結果出錯

報錯是

到主機

tcp/ip

連接失敗。你下面的鏈接串我不確定有沒有寫錯。你用的是sql2005嗎?你在你本地數據庫用sa用戶登陸。之後應該有個什麼管理的。然後你去把tcp/ip給啟動。我記得我以前用的時候這個tcp/ip默認貌似是沒有啟用的

jsp連接數據庫時出現了問題。

哈哈,別聽前面的,如果是前面說的:

“對數據庫操作是用PreparedStatement接口,不是用Connection “

如果這樣,根本不可能有異常出現,只是報告錯誤而已.因為異常是運行的時候出現的,而錯誤是編譯器編譯的時候告訴你的.

很明顯:java.lang.NullPointerException 是異常.而不是錯誤!

你的sql有問題:

你的sql:

ResultSet rs=Condb.executeQuery(“select *from admin where name=”+admin_name+”and password=”+password+””);

假設: admin_name=”123″, password=”123″

那麼你的sql 將是:

select *from admin where name=123and password=123

問一下你,這樣的sql能運行嗎?

所以在14行rs仍然指向為空,能沒有java.lang.NullPointerException 異常嗎?

嚴格的來說,我們一般將if語句的條件寫為:

if(rs!=nullrs.next())

看到了嗎?如果rs為空,後面的next方法不會被執行,就不會有java.lang.NullPointerException 異常發生了,你要知道你的sql可能在數據庫內找不到信息!在找不到信息的時候不這樣寫一樣會有java.lang.NullPointerException 異常出現!

你的sql錯誤在這裡:

1.如果數據庫裡面的name列和password列不是數值型的話就一定出錯,因為少了”將他們括起來.

2. ‘*’ 號沒有和from 分開,and前面要有一個空格,剛開始寫肯定是很多錯誤的了,我也是一樣的.

所以應該改為:

ResultSet rs=Condb.executeQuery(“select * from admin where name='”+admin_name+”‘ and password='”+password+”‘”);

如果你覺得這樣很麻煩的話,可以考慮用java.sql.PreparedStatement接口.

例如:

try

{

PreparedStatement ps=cn.prepareStatement”select * from admin where name=? and password=?”);//假設cn為你的Connection對象

/*如果你使用的是int型的數據,請這麼寫:

ps.setInt(1,2);//設置第一個?號為一個整數2

*/

ps.setString(1,admin_name);//設置第一個?為字符串變量admin_name的值

ps.setString(2,password);//設置第二個?為字符串變量password的值

rs=ps.executeQuery();//假設rs為ResultSet對象

…….

}catch(SQLException ex)

{

ex.printStackTrace(); //強烈建議你寫這個,因為他能打印異常的具體信息,提供給你調試用!

}

關於JSP連接數據庫的問題

你的驅動類型不對吧,重新下載一個ms sqlServer的連接驅動,我想問題就會解決的。

jsp連接sql數據庫出現問題!

地球人都知道是空指針異常啦,可能的原因是用來返回連接數據庫得到的結果集為null(可能是SQL語句編寫錯誤)當然不一定是數據庫連接相關對象為空。老兄,你仔細看一下代碼,出現空指針異常一般是一個值為null的對象被操作,舉個簡單的例子如:String

str

=

null;

boolean

equ

=

str.equals(“str”);就會出現空指針異常

你可以通過手動修改代碼來調試,(接上面的例子)如:

String

str

=

null;

boolean

equ;

if(str

==

null){

System.out.println(“對象str為空”);

return;

}else{

equ

=

str.equals(“str”);

}

這裡System.out.println(“對象str為空”);語句可以理解為日誌信息,告訴你是哪個對象為null;

這樣你就可以解決問題了

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/289411.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-24 03:02
下一篇 2024-12-24 03:02

相關推薦

  • Python官網中文版:解決你的編程問題

    Python是一種高級編程語言,它可以用於Web開發、科學計算、人工智能等領域。Python官網中文版提供了全面的資源和教程,可以幫助你入門學習和進一步提高編程技能。 一、Pyth…

    編程 2025-04-29
  • 如何解決WPS保存提示會導致宏不可用的問題

    如果您使用過WPS,可能會碰到在保存的時候提示“文件中含有宏,保存將導致宏不可用”的問題。這個問題是因為WPS在默認情況下不允許保存帶有宏的文件,為了解決這個問題,本篇文章將從多個…

    編程 2025-04-29
  • Java Thread.start() 執行幾次的相關問題

    Java多線程編程作為Java開發中的重要內容,自然會有很多相關問題。在本篇文章中,我們將以Java Thread.start() 執行幾次為中心,為您介紹這方面的問題及其解決方案…

    編程 2025-04-29
  • Python爬蟲亂碼問題

    在網絡爬蟲中,經常會遇到中文亂碼問題。雖然Python自帶了編碼轉換功能,但有時候會出現一些比較奇怪的情況。本文章將從多個方面對Python爬蟲亂碼問題進行詳細的闡述,並給出對應的…

    編程 2025-04-29
  • NodeJS 建立TCP連接出現粘包問題

    在TCP/IP協議中,由於TCP是面向字節流的協議,發送方把需要傳輸的數據流按照MSS(Maximum Segment Size,最大報文段長度)來分割成若干個TCP分節,在接收端…

    編程 2025-04-29
  • 如何解決vuejs應用在nginx非根目錄下部署時訪問404的問題

    當我們使用Vue.js開發應用時,我們會發現將應用部署在nginx的非根目錄下時,訪問該應用時會出現404錯誤。這是因為Vue在刷新頁面或者直接訪問非根目錄的路由時,會認為服務器上…

    編程 2025-04-29
  • 如何解決egalaxtouch設備未找到的問題

    egalaxtouch設備未找到問題通常出現在Windows或Linux操作系統上。如果你遇到了這個問題,不要慌張,下面我們從多個方面進行詳細闡述解決方案。 一、檢查硬件連接 首先…

    編程 2025-04-29
  • Python折扣問題解決方案

    Python的折扣問題是在計算購物車價值時常見的問題。在計算時,需要將原價和折扣價相加以得出最終的價值。本文將從多個方面介紹Python的折扣問題,並提供相應的解決方案。 一、Py…

    編程 2025-04-28
  • 如何解決當前包下package引入失敗python的問題

    當前包下package引入失敗python的問題是在Python編程過程中常見的錯誤之一。 它表示Python解釋器無法在導入程序包時找到指定的Python模塊。 正確地說,Pyt…

    編程 2025-04-28
  • Python存款買房問題

    本文將會從多個方面介紹如何使用Python來解決存款買房問題。 一、計算存款年限和利率 在存款買房過程中,我們需要計算存款年限和存款利率。我們可以使用以下代碼來計算存款年限和利率:…

    編程 2025-04-28

發表回復

登錄後才能評論