Número de columnas de BBDD fuera de límite
Resuelto
rapidegoyes
Mensajes publicados
3
Fecha de registro
Estado
Miembro
Última intervención
-
rapidegoyes Mensajes publicados 3 Fecha de registro Estado Miembro Última intervención -
rapidegoyes Mensajes publicados 3 Fecha de registro Estado Miembro Última intervención -
Hola,
Estoy codificando un pequeño programa con NetBeans Java y Postgres en pgAdmin3.
Tengo una tabla con 5 columnas (id, Nombre, Apellido, Teléfono, Correo).
La conexión está funcionando, pero la aplicación se bloquea con el siguiente mensaje de error:
org.postgresql.util.PSQLException: El índice de la columna está fuera de límites: 5, número de columnas: 4.
Veo que hay 5 columnas !!!
Por favor, ayúdame, llevo 5 noches trabajando en esto.
Atentamente y gracias.
rapidegoyes
Aquí está mi función:
Configuración: Windows / Firefox 96.0
Estoy codificando un pequeño programa con NetBeans Java y Postgres en pgAdmin3.
Tengo una tabla con 5 columnas (id, Nombre, Apellido, Teléfono, Correo).
La conexión está funcionando, pero la aplicación se bloquea con el siguiente mensaje de error:
org.postgresql.util.PSQLException: El índice de la columna está fuera de límites: 5, número de columnas: 4.
Veo que hay 5 columnas !!!
Por favor, ayúdame, llevo 5 noches trabajando en esto.
Atentamente y gracias.
rapidegoyes
Aquí está mi función:
private void but_EnregistActionPerformed(java.awt.event.ActionEvent evt)
{
try
{
String requete = "INSERT INTO renseignements (Nom, Prenom, Telephone, Courriel)";
requete+= "VALUES (?,?,?,?);";
PreparedStatement ps = connect.getInstance().prepareStatement(requete);
ps.setString(2, txt_Nom.getText());
ps.setString(3, txt_Prenom.getText());
ps.setString(4, txt_Telephon.getText());
ps.setString(5, txt_Mail.getText());
ps.executeUpdate();
JOptionPane.showMessageDialog(this, "consulta ejecutada con éxito");
} catch (SQLException ex)
{
Logger.getLogger(Interface_Utili.class.getName()).log(Level.SEVERE, null, ex);
}
}
Configuración: Windows / Firefox 96.0
5 respuestas
-
Hola;
Sabiendo que en tu consulta solo le pasas 4 variables (simbolizadas por signos de interrogación)
Dudo que el ps.setString(5 sea correcto... Y falta el ps.setString(1
--
.
Cordialmente,
Jordane -
Buenas noches
gracias por responder
Ya intenté con 1, entonces el mensaje de error es diferente y es el siguiente:
org.postgresql.util.PSQLException: ERROR: la columna « nombre » de la relación « informaciones » no existe
realmente no veo solución
Gracias por ayudarme cordialmente
rapidogoyes -
Hola
Gracias por tu apoyo
Sí, estoy seguro del título de la columna que después de la columna id, es bien Nombre con mayúscula.
Ahora, ¿cómo puedo mostrar mi tabla que se encuentra en postGres Admin 3?
cordialmente a +++
rapidegoyes -
Hola jordane45
Mientras tanto he modificado mi código.
1) He renombrado mis columnas a minúsculas.
2) He modificado mi función, ver abajo, poniendo en minúsculas y añadiendo un valor para id delante de los parámetros de puntos de interrogación.
3) He reinstaurado los números de orden a partir de 1.
4) Compilar con clean.
¡Esta vez los datos se transmiten en las columnas respectivas!
Mi pregunta, una cosa que no entiendo; para la columna id.
1) ¿Puede incrementarse automáticamente como en SQLite para Android?
2) ¿O es necesario llenarla en cada registro?
Para mi prueba en el código a continuación he añadido el número 1 para ensayo y así los datos se insertan.
aquí está mi función modificada
private void but_EnregistActionPerformed(java.awt.event.ActionEvent evt)
{
try
{
String requete = "INSERT INTO renseignements (id, nom, prenom, telephone, courriel)";
requete+= "VALUES (1, ?,?,?,?);";
PreparedStatement ps = connect.getInstance().prepareStatement(requete);
ps.setString(1, txt_Nom.getText());
ps.setString(2, txt_Prenom.getText());
ps.setString(3, txt_Telephon.getText());
ps.setString(4, txt_Mail.getText());
ps.executeUpdate();
JOptionPane.showMessageDialog(this, "requête exécutée avec succès");
} catch (SQLException ex)
{
Logger.getLogger(Interface_Utili.class.getName()).log(Level.SEVERE, null, ex);
}
}
gracias por ayudarme
hasta luego
rapidego -
Buenas noches jordan45 y a todos
Gracias por tu ayuda,
He rehecho completamente mi tabla de información
Acabo de arreglar la autoincrementación en postgres pgAdmin4.
He añadido una secuencia: en la clave primaria llamada maseq nextval('maseq'::regclass) con tipo de dato bigint.
Aparentemente funciona todo se incrementa
De todas formas gracias por tu ayuda y hasta +++
cordialmente
rapidegoyes