当前位置: 首页 > 知识库问答 >
问题:

在java中传递多个参数

柴修筠
2023-03-14
import java.sql.*;
class MyClass {
  public static void main (String[] Owner ) throws Exception
  {
   Class.forName ("oracle.jdbc.OracleDriver");

   Connection conn = DriverManager.getConnection
     ("jdbc:oracle:thin:@//host:port/SID", "username", "password");

   try {
     Statement stmt = conn.createStatement();

     try {
          for (int i=0; i < owner.length; i++){
             String consumerName =  "TestConsumer";
             ResultSet msgs = Stmt.executeQuery("select msg_id from Table where owner = '" + owner[i] + "' and consumer_name = '" + consumerName + "' and msg_state = 'READY'" );

                   while (msgs.next())
                     System.out.println (msgs.getString(1));
                                     try { msgs.close(); } catch (Exception closeMsgsExcp) {}
             } 
        }     

            finally {
             try { stmt.close(); } catch (Exception closeStmtExcp) {}
               }
      } 

      finally {
           try { conn.close(); } catch (Exception closeConnExcp) {}
             }

   }

}

但是,当我试图将此代码更改为以下代码时,我得到了一个错误-错误:Main method,在类MyClass中找不到,请将Main method,定义为:public static void Main(string[]args)。我需要接收owner和consumerName作为我的程序的参数/输入。

import java.sql.*;
class MyClass {
  public static void main (String[] Owner, String[] consumerName ) throws Exception
  {
   Class.forName ("oracle.jdbc.OracleDriver");

   Connection conn = DriverManager.getConnection
     ("jdbc:oracle:thin:@//host:port/SID", "username", "password");

   try {
     Statement stmt = conn.createStatement();

     try {
          for (int i=0; i < owner.length; i++){
             //String consumerName =  "TestConsumer";
             ResultSet msgs = Stmt.executeQuery("select msg_id from Table where owner = '" + owner[i] + "' and consumer_name = '" + consumerName[i] + "' and msg_state = 'READY'" );

                   while (msgs.next())
                     System.out.println (msgs.getString(1));
                                     try { msgs.close(); } catch (Exception closeMsgsExcp) {}
             } 
        }     

            finally {
             try { stmt.close(); } catch (Exception closeStmtExcp) {}
               }
      } 

      finally {
           try { conn.close(); } catch (Exception closeConnExcp) {}
             }

   }

}

,这是怎么做到的?

共有1个答案

邴墨竹
2023-03-14

使用字符串数组传入参数。main-Method只有args参数。

Java doc:Main方法

您可以将所有所有者传递到数组中,然后将限制器字符串放入其中(不能是所有者或使用者),然后将所有使用者放入数组中。在main中,您迭代args-array并创建它的两个数组。

 类似资料:
  • 问题内容: 假设我有这个功能: 我想这样称呼它: 当然,不能用这种方法来完成,因为Postgres试图用该名称和三个不存在的参数来查找函数。 我试图用引号引起来,但在这种情况下,参数解释错误: data1’,’data2’,’data3 ,就像一个字符串一样。 有没有一种方法可以在参数中放置多个值,以便IN子句可以识别它? 问题答案: 您的函数将不会被创建。之后是句法废话。 无论哪种方式,带有 参

  • 问题内容: 我试图弄清楚如何在URL中传递多个参数。我想将纬度和经度从我的android类传递给Java servlet。我怎样才能做到这一点? 在这种情况下,输出(写入文件)为。这是可行的,但我想在两个单独的参数中传递纬度和经度,以便减少在服务器端的工作。如果不可能,我如何至少在&之间添加一个空格,以便可以使用class获取经度和纬度。我试过以下行,但无济于事。 我的servlet代码如下: 我

  • 本文向大家介绍在 mapper 中如何传递多个参数?相关面试题,主要包含被问及在 mapper 中如何传递多个参数?时的应答技巧和注意事项,需要的朋友参考一下 1、第一种:   2、第二种:使用 \@param 注解:   然后,就可以在 xml 像下面这样使用(推荐封装为一个 map,作为单个参数传递给mapper)   3、第三种:多个参数封装成 map

  • 问题内容: 我的报告中有几个“多项选择”参数。我正在尝试找到一种方法来为Web查询字符串中的单个参数传递多个值?如果我传递一个值,则可以正常工作。 该报告运行良好,可以为单个参数选择多个选项。我的麻烦在于网络查询字符串。 问题答案: 尽管John Sansom的解决方案有效,但还有另一种方法可以执行此操作,而不必使用可能效率低下的标量值UDF。在SSRS报告中,在查询定义的“参数”选项卡上,将参数

  • //在这里写什么都行

  • 我需要向maven命令行传递多个参数来运行Spring Boot应用程序。这就是我在spring Boot中传递命令行参数的方式。我使用的是spring boot 2.2.6版本 参数似乎没有正确解析