作者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='
[email protected]'
资料厂商是 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='
[email protected]'");
......
}
catch(...){}finally{...}
===========================================================================
我是资讯传播科系的,科系其实跟写程式没有太大的关联
因为毕业专题的需要,这方面有很多是自学的。
所以请大家鞭小力一点
在这边先谢谢大家
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.132.243.92
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1411960723.A.110.html
※ 编辑: JamesAndy (220.132.243.92), 09/29/2014 11:25:02
1F:推 LaPass: 你打开你的资料库,看E_MAIL的类型是不是设定为integer? 09/29 11:44
2F:→ LaPass: INTEGER是数字,你要改成字串nvarchar 之类的 09/29 11:45
3F:→ JamesAndy: 但是我在资料库中 资料格式是设 NVARCHAR 09/29 12:46
4F:推 LaPass: 那你找一下出错的地方,那错误讯息是转型失败 09/29 12:50
5F:推 haha02: 是不是从ResultSet取资料的时候写成getInt了? 09/29 13:07
6F:→ JamesAndy: 真的打成 getInt了!犯下了粗心的错误 谢谢 haha02 09/29 13:23