Java/Android。int=文本?
我犯了一个奇怪的错误,但我不明白为什么会出现这个错误。基本上,我使用SELECT查询从数据库中获取一些数据,它会生成一个错误。 该错误与“WHERE traseu=“+traseu+”;”有关。我的PostgreSQL数据库中的列traseu的类型为“text”Java/Android。int=文本?,java,android,database,postgresql,Java,Android,Database,Postgresql,我犯了一个奇怪的错误,但我不明白为什么会出现这个错误。基本上,我使用SELECT查询从数据库中获取一些数据,它会生成一个错误。 该错误与“WHERE traseu=“+traseu+”;”有关。我的PostgreSQL数据库中的列traseu的类型为“text” protected void onProgressUpdate(String... values) { super.onProgressUpdate(values); String tr
protected void onProgressUpdate(String... values) {
super.onProgressUpdate(values);
String traseu = values[0];
String sql = "SELECT id, ST_x(geom) AS x, ST_y(geom) AS y, tip AS tr, traseu, denumire, adresa, poza FROM modul WHERE traseu = " + traseu + ";";
它给了我以下错误:
01-08 15:30:05.435 23635-23635/com.example.nsomething E/com.example.nsomething.main.Harta﹕ query failed to execute: org.postgresql.util.PSQLException: ERROR: operator does not exist: text = integer
Hint: No operator matches the given name and argument type(s). You might need to add explicit type casts.
Position: 112
任何提示。尝试将参数用单引号括起来 例:
…其中traseu='“+traseu+”;“尝试将参数用单引号括起来 例:
…其中traseu='“+traseu+”;“尝试将参数用单引号括起来 例:
…其中traseu='“+traseu+”;“尝试将参数用单引号括起来 例:
…其中traseu='“+traseu+”;“不将用户提供的值连接到SQL文本中 这是危险和错误的:
String sql = "SELECT ... WHERE traseu = " + traseu + ";";
^^^^^^^^^^^^^^^
Bad, don't do this
对于一个整数来说,这并不危险,但它仍然是一个可怕的习惯。不要这样做
相反,你应该这样做
见:
String sql = "SELECT ... WHERE traseu = " + traseu + ";";
^^^^^^^^^^^^^^^
Bad, don't do this
对于一个整数来说,这并不危险,但它仍然是一个可怕的习惯。不要这样做
相反,你应该这样做
见:
String sql = "SELECT ... WHERE traseu = " + traseu + ";";
^^^^^^^^^^^^^^^
Bad, don't do this
对于一个整数来说,这并不危险,但它仍然是一个可怕的习惯。不要这样做
相反,你应该这样做
见:
String sql = "SELECT ... WHERE traseu = " + traseu + ";";
^^^^^^^^^^^^^^^
Bad, don't do this
对于一个整数来说,这并不危险,但它仍然是一个可怕的习惯。不要这样做
相反,你应该这样做
见: