作者JamesAndy (張全)
看板java
標題[JSP ] SQL 資傳輸錯誤
時間Mon Sep 29 11:18:41 2014
最近我畢業專題在寫網站時遇到了一個 不知道怎樣問的問題
所以我就用我的方式說了,語意有點不順,請見諒。
Log 記錄檔是這樣描述的:
09-29 02:12:10.329: E/message(538): 資料傳輸錯誤!!
com.microsoft.sqlserver.jdbc.SQLServerException: 將 nvarchar 值轉換為 JDBC 資
料類型 INTEGER 時發生錯誤。
而在 JSP 的SQL陳述句是:
SELECT * FROM CUSTOMER WHERE E_MAIL='andy0609@live.com'
資料廠商是 Microsoft SQL Server 2012
資料庫中 E_MAIL 欄位的資料格式是 NVARCHAR(50)
==============================================================================
以下是我這部分的程式片段
Connection conn = null;
Statement statement = null;
SQLException ex = null;
ResultSet rs = null;
try{
conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;" +
"databaseName=food;user=users;password=0000;");
statement = conn.createStatement();
rs = statement.executeQuery
("SELECT * FROM CUSTOMER WHERE E_MAIL='andy0609@live.com'");
......
}
catch(...){}finally{...}
===========================================================================
我是資訊傳播科系的,科系其實跟寫程式沒有太大的關聯
因為畢業專題的需要,這方面有很多是自學的。
所以請大家鞭小力一點
在這邊先謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.243.92
※ 文章網址: http://www.ptt.cc/bbs/java/M.1411960723.A.110.html
※ 編輯: JamesAndy (220.132.243.92), 09/29/2014 11:25:02
推 LaPass: 你打開你的資料庫,看E_MAIL的類型是不是設定為integer? 09/29 11:44
→ LaPass: INTEGER是數字,你要改成字串nvarchar 之類的 09/29 11:45
→ JamesAndy: 但是我在資料庫中 資料格式是設 NVARCHAR 09/29 12:46
推 LaPass: 那你找一下出錯的地方,那錯誤訊息是轉型失敗 09/29 12:50
推 haha02: 是不是從ResultSet取資料的時候寫成getInt了? 09/29 13:07
→ JamesAndy: 真的打成 getInt了!犯下了粗心的錯誤 謝謝 haha02 09/29 13:23