在jdbc java中运行任何sql命令

问题描述 投票:-3回答:2

我想用java创建SQL工具,我先尝试检查命令是true还是false,然后如图所示

现在我想在命令中执行,如果它在数据库中更新返回行数更新,如果它选择行应该返回ResultSet

 public Object run(String command){
 Boolean flag: runAnyCommand(command);
 Object data=nu11;
 if(f1ag){
 System.out.print1n(“trueeeeeeeeeeee”);

try {
Object s= st.execute(command);

if(s instanceof ResultSet ){

data=(ResultSet) s;
System.out.println(“result set ”);
}

else if(s instanceof Integer){

data=s;
 System.out.print1n(“update ant the rows is “+S);
  }

  } catch (SOLException ex) {
  Logger.getLogger(dbOperations.class.getName()).log(Level.SEVERE, hull,     ex);
 }
java sql jdbc
2个回答
1
投票

该图像包含我在servlet中调用它的方法,例如它返回对象(如果是更新则为boolean,如果是选择则为arraylist)


1
投票

您向我们展示的代码不正确。 (JDBC)Statement.execute方法返回boolean,而不是Object。当你将它分配给Object时,它会将其作为Boolean自动装箱。因此,您尝试获取ResultSetInteger的代码将永远不会被执行。

如果要获取ResultSet或使用execute(String)执行的SQL语句的更新计数,则应在getResultSet()对象上调用getUpdateCount()Statement

javadocStatement.execute(String)提供了更多细节,并提供了上述方法的链接。

© www.soinside.com 2019 - 2024. All rights reserved.