2014-06-20 47 views
-2

如何将此SQL查询从String转换为Int?如何将这个SQL查询从String转换为Int?

String sql = "DELETE FROM DEMO.QUESTION " + 
     "WHERE CAST (QUESTION_ID = '"+question+"' ,INT(10))"; 
+1

嗯,很高兴微笑......的确如此。 – Coffee

+0

你能帮我吗? – MoLab

+2

具体你在做什么!?假设你使用的是MySQL,那可能是0或1 ......但是(至少对我而言)没有任何意义!您只能删除matchig值并继续! – Barranka

回答

2

回答你的问题:你总是试图在一个布尔值,我不认为执行cast操作是你想要什么(这是无关紧要的反正)。

所以,我认为你正在尝试做的是这样的:

sql = "delete from demo.question " + 
     "where QUESTION_ID = cast('" + question + "', int)" 

一些这方面的意见:

  1. 你的问题变量可以被解析到之前在你的代码的整数值将它传递给查询...这将消除您的cast函数的需要。
  2. 如果question变量的值为​​,你会怎么做?考虑这种情况。
  3. 您的查询很容易受到SQL注入攻击。考虑使用准备好的语句。

更新

由于您使用Java和加强我的第三个观察,你应该看看到the Java tutorial on the topic(并且也this)。

我坚持认为,不是传递一个字符串并将其转换为查询,而是将其作为整数解析为Java代码,并释放自己的问题。

+0

谢谢!!! :) – MoLab

+0

如果它有帮助,upvote它并接受它;) – Barranka