[問題] SQL 資傳輸錯誤

看板java作者 (張全)時間10年前 (2014/09/29 11:18), 10年前編輯推噓3(303)
留言6則, 3人參與, 最新討論串1/1
最近我畢業專題在寫網站時遇到了一個 不知道怎樣問的問題 所以我就用我的方式說了,語意有點不順,請見諒。 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

09/29 11:44, , 1F
你打開你的資料庫,看E_MAIL的類型是不是設定為integer?
09/29 11:44, 1F

09/29 11:45, , 2F
INTEGER是數字,你要改成字串nvarchar 之類的
09/29 11:45, 2F

09/29 12:46, , 3F
但是我在資料庫中 資料格式是設 NVARCHAR
09/29 12:46, 3F

09/29 12:50, , 4F
那你找一下出錯的地方,那錯誤訊息是轉型失敗
09/29 12:50, 4F

09/29 13:07, , 5F
是不是從ResultSet取資料的時候寫成getInt了?
09/29 13:07, 5F

09/29 13:23, , 6F
真的打成 getInt了!犯下了粗心的錯誤 謝謝 haha02
09/29 13:23, 6F
文章代碼(AID): #1KAC-J4G (java)
文章代碼(AID): #1KAC-J4G (java)