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

OK je regarde

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.