Opened 15 years ago
Closed 15 years ago
#58 closed defect (fixed)
Impossible de créer une taille vidéo pour le DC (colonne "tav_org_code")
Reported by: | timothée | Owned by: | cedric |
---|---|---|---|
Priority: | major | Milestone: | debugv0.3 |
Component: | Programme Java | Version: | 0.3 |
Keywords: | DC, StacomiJava, taillevideo, vidéo | Cc: |
Description
(suite au ticket #57)
Lors de l'ajout d'une taille vidéo pour un nouveau DC, erreur :
ERROR:Null value in column "tav_org_code" violates non-null constraint
(table "ts_taillevideo_tav")
Change History (7)
comment:1 Changed 15 years ago by cedric
comment:2 Changed 15 years ago by cedric
J'ai trouvé.
(ci dessous pour mémoire pour cédric)
La méthode executeinsert de connexion_BD.java rajoute automatiquement l'organisme dans val attributs.
public void executeInsert(String _tableDestination, ArrayList _nomAttributs, ArrayList _valAttributs) throws SQLException { // si l'utilisateur connecté est "invité", // il n'a pas les droits d'ajouter/modifier supprimer des données de la base if(!_user.equals("invite")) { _valAttributs.add(_user.toUpperCase()); String sql = ""; // la requete complete String sqlNomAttributs = ""; // la partie de requete sql comprenant le nom des attributs de la table String sqlValAttributs = ""; // la partie de requete sql comprenant la valeur des attributs // Construction de la requete Sql en deux parties : INSERT INTO table (sqlNomAttributs) VALUES (sqlValAttributs) ; // Parcourt les vecteurs pour concatener les attributs en une chaine sql. Les attributs 'null' ne sont pas inclus for (int i = 0; i < _nomAttributs.size(); i++) { if (_valAttributs.get(i) != null) { sqlNomAttributs = sqlNomAttributs + (String) _nomAttributs.get(i) + ","; sqlValAttributs = sqlValAttributs + "'" + _valAttributs.get(i).toString().replaceAll("'", "`") + "',"; } // Si l'attribut est null, on ne l'inclus pas dans la requete } // Supression de la derniere virgule if (sqlNomAttributs.length() > 0) { sqlNomAttributs = sqlNomAttributs.substring(0, sqlNomAttributs .length() - 1); sqlValAttributs = sqlValAttributs.substring(0, sqlValAttributs .length() - 1); } sql = "INSERT INTO " + getSchema()+_tableDestination + "(" + sqlNomAttributs + ") VALUES (" + sqlValAttributs + ") ; "; // Execution de la requete this.getStatement().execute(sql); System.out.println("ConnexionBD : executeInsert()"); } else throw new SQLException(Erreur.B1027); }
Cette erreur est donc liée à l'oubli de l'ajout des organismes dans la table ticket#40
J'ai changé la méthode getNomAttribut dans taxonvideo.java en ajoutant ret.add("txv_org_code");
/** * Retourne le nom des champs de la table * @return le noms des champs de la table dans l'ordre d'insertion dans la base de donnee */ private ArrayList<String> getNomAttributs() { ArrayList<String> ret =new ArrayList<String>(); ret.add( "txv_code"); ret.add("txv_tax_code"); ret.add("txv_std_code"); ret.add("txv_org_code"); return ret; }
comment:3 Changed 15 years ago by cedric
- Status changed from new to accepted
comment:4 Changed 15 years ago by cedric
OK Télechargement des sources dans javadownload v 1677
comment:5 Changed 15 years ago by cedric
- Resolution set to fixed
- Status changed from accepted to closed
comment:6 Changed 15 years ago by cedric
- Resolution fixed deleted
- Status changed from closed to reopened
Il s'agissait des taille video pas des taxons video
comment:7 Changed 15 years ago by cedric
- Resolution set to fixed
- Status changed from reopened to closed
Note: See
TracTickets for help on using
tickets.
OK je regarde