繁体   English   中英

打破Java中的循环逻辑

[英]breaking out of a loop logic in Java

我正在学习Java,并且刚开始使用mysql,并且在python中工作的某些逻辑存在一些问题,并且在转换时遇到了问题。

我基本上有一个try语句,该语句尝试搜索数据库中是否存在记录。如果记录确实不错,它将继续前进,但是如果记录不存在,则会添加它。 这是我的代码

try 
{
    PreparedStatement Findstatement;
    Findstatement = con.prepareStatement(" SELECT DataMaster_MasterCode FROM Allocation WHERE Master_Code = (?) and date = (?)");
    Findstatement.setInt(1, Code);
    Findstatement.setString(2, AllocationDate);
    ResultSet CodeAll  = Findstatement.executeQuery();
    int DataMaster_MasterCode;
    while (CodeAll.next()) 
    {
        DataMaster_MasterCode = CodeAll.getInt("DataMaster_MasterCode");
    }


    System.out.println("Found allocation "  + DataMaster_MasterCode + " already exists for " + Name);

}
catch (Exception e) 
{ //Create statements... }

问题在于它一直在处理异常,因为DataMaster_MasterCode变量可能未初始化。 我认为因为python只是在执行过程中执行代码,而在python中却可以正常工作,但是由于java对其进行了预编译,因此将其视为错误并跳过。 如果没有初始化变量,我希望它失败并转到catch语句(创建变量)。

现在,它一直在失败,并一直在创建(重复)条目,因为它从未完成语句来查找数据本身。 我考虑过要使用else if语句来检查变量,该语句为null,然后中断,但这对我也不起作用。

请帮助我的逻辑。

您仅应在例外情况下使用异常处理。 检查未初始化的值不是其中之一。 要在Java中检查null值,只需使用(变量== null)。

您首先必须将null分配给变量,否则也将获得异常。 请注意,局部变量未初始化为任何默认值,因此DataMaster_MasterCode = 0; 等等

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM