Java 中的自定义 SQL 异常错误消息



我有一个JFrame,其中包含一个包含3个字段的表单,一个是名称字段,另一个是房屋编号和邮政编码字段,用于查找客户详细信息。

当输入正确的信息时,这工作正常,并在 JTable 中显示我想要的内容。但是,如果其中一个字段输入不正确并且找不到信息,是否可以显示自定义错误消息?

目前出现的错误是:"结果集未正确定位,也许您需要调用下一步",是否可以在找不到信息时自定义此方案的消息,而不必在发生错误的其他方案中完全丢失 SQL 异常?

我猜你正在尝试这样的事情:

ResultSet rs = pstmt.executeQuery();
rs.first();
System.out.println(rs.getString("MY_COLUMN_NAME"));

收到此错误是因为您按照评论中所说的调用rs.next()rs.first(),即使resultset中没有数据。

因此,不要尝试遵循代码以避免ResultSet not positioned properly, perhaps you need to call next.'异常。

String myCustomMsg="";  //You can return this variable as custom message.
try
{
    Connection con = GET_CONNECTION_HERE;
    PreparedStatement pstmt = con.prepareStatement("QUERY HERE");
    ResultSet rs = pstmt.executeQuery();
    if(rs.next())// This will make sure that if there is no data, don't read the ResultSet
    {
        System.out.println(rs.getString("MY_COLUMN_NAME"));
        myCustomMsg = "Ok";
    }
    else
        myCustomMsg ="No Data found!";
}
catch(SQLException sqle)
{
    sqle.printStackTrace();
    myCustomMsg ="YOUR CUSTOM MESSAGE HERE....";
}

你可以像这样自定义SQLException

import java.sql.SQLException;

public class SqlException extends SQLException{
    public SqlException(String message){
        super(message);
    }
    public static void main(String[] args) throws SqlException {
        throw new SqlException("name not found .!?");
    }
}  

相关内容

  • 没有找到相关文章

最新更新