Я хотел бы получить messageDialog, если фильтруемый идентификатор отсутствует в модели таблицы, которую я создал.Проблема в том, что код работает нормально без if
, однако, когда я добавляю if
для условия messageDialog, я понимаю, что данные найдены, но не показаны.
Сравнение:
Код:
public void buscarNumeroSerie (String nserie)
{
try {
String [] campos={"NUMERO_SERIE","MARCA","GAVETA"};
String filtroNS = nserie;
String NSSQL = "SELECT NUMERO_SERIE,MARCA,GAVETA FROM"
+ "(SELECT NUMERO_SERIE,MARCA,GAVETA FROM discos_wd "
+ "UNION "
+ "SELECT NUMERO_SERIE,MARCA,GAVETA FROM discos_toshiba "
+ "UNION "
+ "SELECT NUMERO_SERIE,MARCA,GAVETA FROM discos_seagate "
+ "UNION "
+ "SELECT NUMERO_SERIE,MARCA,GAVETA FROM discos_samsung "
+ "UNION "
+ "SELECT NUMERO_SERIE,MARCA,GAVETA FROM discos_hitachi )"
+ "AS TROUBLE WHERE NUMERO_SERIE LIKE '%"+filtroNS+"%'";
System.out.println(NSSQL);
nsconn = metodosPool.dataSource.getConnection();
ModeloTablaLista = new DefaultTableModel(null, campos);
stmnt = nsconn.prepareStatement(NSSQL);
ResultSet nsrs = stmnt.executeQuery(NSSQL);
if(nsrs.next()== true){
String [] nsfila = new String[3];
while (nsrs.next())
{
nsfila[0]=nsrs.getString("Numero_Serie");
nsfila[1]=nsrs.getString("Marca");
nsfila[2]=nsrs.getString("Gaveta");
ModeloTablaLista.addRow(nsfila);
}
nsrs.close();
stmnt.close();
tablaDiscosGaveta.setModel(ModeloTablaLista);
}
else
{
System.err.println("No existen datos asociados");
JOptionPane.showMessageDialog(rootPane, "Disco no encontrado, quiere:");
}
Моя идея состоит в том, что левое изображение, содержащее бит кода if
, показывает результаты, которые мне нужны.как изображение справа.Я пробовал с for
циклами, добавляя новый resultSet и изменяя положение условия if
без результатов.