[問題] SQL 資傳輸錯誤

作者: JamesAndy (鄉民)   2014-09-29 11:18:41
最近我畢業專題在寫網站時遇到了一個 不知道怎樣問的問題
所以我就用我的方式說了,語意有點不順,請見諒。
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{...}
===========================================================================
我是資訊傳播科系的,科系其實跟寫程式沒有太大的關聯
因為畢業專題的需要,這方面有很多是自學的。
所以請大家鞭小力一點
在這邊先謝謝大家
作者: LaPass (LaPass)   2014-09-29 11:44:00
你打開你的資料庫,看E_MAIL的類型是不是設定為integer?INTEGER是數字,你要改成字串nvarchar 之類的
作者: JamesAndy (鄉民)   2014-09-29 12:46:00
但是我在資料庫中 資料格式是設 NVARCHAR
作者: LaPass (LaPass)   2014-09-29 12:50:00
那你找一下出錯的地方,那錯誤訊息是轉型失敗
作者: haha02 (來人!上夾棍!)   2014-09-29 13:07:00
是不是從ResultSet取資料的時候寫成getInt了?
作者: JamesAndy (鄉民)   2014-09-29 13:23:00
真的打成 getInt了!犯下了粗心的錯誤 謝謝 haha02

Links booklink

Contact Us: admin [ a t ] ucptt.com