您好我正在开发Android应用程序。我使用sql server 2008 R2数据库来存储数据并检索数据。现在,当我在数据库中插入值时,我在表中插入了4个日期。
以下是查询:
"INSERT Into Task_Master VALUES ('1'," +
"" +userId+"," +userId+ ",'N','" +Subject+ "'," +
"'" + serverdate + "','" + StartDate+ "','" + serverdate + "'," +
"'"+" "+"'," +
"'" +" "+ "','0'," +groupId+ ",0,0,1,0,'1/1/1900','','N','" +cal.getTime()+ "','')" +
" Select Scope_Identity()";
在“Serverdate”中,StartDate,Cal.getTime()都具有数据类型Date。在数据库中,我使用了datetime数据类型。但它仍然给我Exception,它说“java.sql.sqlexception:从字符串转换日期或/和时间时转换失败”。如果你知道答案,请帮助我。我在googlwe搜索但没有得到答案。
答案 0 :(得分:4)
好的,我们这样做。
首先,最重要的是,您的代码容易受到SQL Injection的攻击。您应该继续使用参数。
其次,当你开始使用参数时,你的错误很可能会消失(或者重新出现在其他地方,这次更清楚错误)。这可能是因为服务器可能“不喜欢”你的stringly typed日期格式,所以它失败了。
<强>更新强>
关于java中的参数化查询,请在此处阅读:
答案 1 :(得分:0)
我猜是日期格式不匹配。
尝试查看此处:http://www.coderanch.com/t/385771/java/java/java-sql-Date-dd-mm