[英]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.