小编Eri*_*rik的帖子

对空结果集的非法操作

我正在尝试在杂货店建立一个支付台,我的代码实际上执行了我打算做的事情,但有一点。

在我要求用户输入他们想要的商品数量后,产品信息被收集并且工作正常,但是当它应该要求用户输入下一个产品的产品 ID 时,该行重复,我得到以下信息我的捕获中的异常:“对空结果集的非法操作”。同样,除了重复该行之外,所有计算和一切都很好。关于可能是什么问题的任何想法?

重复的输出是这样的:

输入产品(或退出):

ERROR1:对空结果集的非法操作。

输入产品(或退出):

这是代码。

try {
  Class.forName("com.mysql.jdbc.Driver");
  String connection = "jdbc:mysql://myDB?";
  connection = connection + "user=xxx&password=xxxxxx";
  Connection conn = DriverManager.getConnection(connection);
  // MATA IN PRODUKTNUMMER
  System.out.println("\nEnter product (or Exit):");
  GroceryStore.input = GroceryStore.scan.nextLine();

  PreparedStatement stmt = conn.prepareStatement(
          "SELECT * "+
          "FROM Products "+
          "WHERE productNo = ?");
          stmt.setString(1, GroceryStore.input); 

          ResultSet rs = stmt.executeQuery();
          rs.next();

    pName = rs.getString("productName");
    System.out.println("Product: " + pName);

    // MATA IN ANTAL
    System.out.println("\nEnter amount:");
    GroceryStore.amount = GroceryStore.scan.nextInt();


    pPrice = rs.getDouble("productPrice");
    priceRounded = new BigDecimal(pPrice).setScale(2, …
Run Code Online (Sandbox Code Playgroud)

java exception operation

1
推荐指数
1
解决办法
4万
查看次数

来自现有数组的某些值的新数组

如果我有一个像这样的数组:

string[] test = new string[5] { "hello", "world", "test", "world", "world"};

如何从同一个字符串中创建一个新数组,"世界"是你手头知道有多少,这里3?

我想的是:

string[] newArray = new string[3];

        for (int i = 0; i < 5; i++)
        {
            if (test[i].Contains("world"))
            {
                newArray[i] = test[i];
            }
        }
Run Code Online (Sandbox Code Playgroud)

问题出在这里: newArray[i] = test[i];

由于它从0迭代到4,因为newArray限制为3,所以会出错.

怎么解决这个?

编辑:我需要它来自test(旧数组)位置1,3和4应该存储在newArray中的0,1和2.

c# arrays string for-loop

0
推荐指数
1
解决办法
89
查看次数

标签 统计

arrays ×1

c# ×1

exception ×1

for-loop ×1

java ×1

operation ×1

string ×1