Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Forms
Forms Forum d'entraide sur Oracle Forms
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/03/2006, 17h53   #1
Invité régulier
 
Inscription : février 2005
Messages : 25
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 25
Points : 7
Points : 7
Par défaut PROBLEME INSERTION FORMS6i

Bonjour
J'utilise oracle forms builder et j ai des probleme pour insere des info dans ma base de donnee, je suis bien connecte a celle ci.
J'ai une erreur qui saffiche a chaque fois.
Pourtant quand je compile mon code dans le trigger je n ai aucune faute
Si quelqu un connait un bon tutorial
voici mon code PLSQL
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
DECLARE
nom_util VARCHAR2(15);
prenom_util VARCHAR2(15);
login_util VARCHAR2(15);
mdp_util VARCHAR2(15);
datnaiss_util DATE;
sex_util CHAR(1);
BEGIN
 
IF :UTILISATEUR.NOM_UTIL IS NULL 
   then message('Pas de nom');
   else  
   INSERT INTO UTILISATEUR (nom_util) VALUES('nom_util');
	end IF;
 
	IF :UTILISATEUR.PREN_UTIL IS NULL 
			then message('Pas de prenom');
	else 
		INSERT INTO UTILISATEUR (pren_util) VALUES('nom_util');
	end IF;
 
	IF :UTILISATEUR.LOGIN_UTIL IS NULL 
		then message('Pas de login');
	else 
		INSERT INTO UTILISATEUR (login_util) VALUES('nom_util');
	end IF;
 
	IF :UTILISATEUR.MDP_UTIL IS NULL 
		then message('Pas de mot de passe');
	else  
		INSERT INTO UTILISATEUR (mdp_util) VALUES('mdp_util');
	end IF;
 
	IF :UTILISATEUR.DATNAISS_UTIL IS NULL 
			then message('Pas de date de naissance');
	else  
		INSERT INTO UTILISATEUR (datnaiss_util) VALUES('datnaiss_util');
	end IF;
 
	IF :UTILISATEUR.SEX_UTIL IS NULL 
		then message('Pas de sex');
	else  
		INSERT INTO UTILISATEUR (sex_util) VALUES('sex_util');
	end IF;		
 
END;
et voila l erreur qui saffiche en bas de page "le declencheur WHEN-BOUTTON-PRESSED a detecte une execption ORA 01400 non traiter"

merci
todier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2006, 19h01   #2
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
C'est un problème de valeur nulle non autorisée dans les colonnes de votre table: http://www.techonthenet.com/oracle/errors/ora01400.php

Il y a une erreur de logique dans votre code:
C'est uniquement si toutes les valeurs sont non nulles que vous pouvez faire un INSERT (et non si une au moins des valeurs est non nulle).

De plus il faut écrire:
Code :
1
2
 
INSERT INTO colonne VALUES(variable)
et non
Code :
1
2
 
INSERT INTO colonne VALUES('variable')
car 'variable' est interprêté par PL/SQL comme une chaîne de caractères et non comme un nom de variable.

Voici un tutoriel complet sur PL/SQL sur ce site http://sheikyerbouti.developpez.com/pl_sql/
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h44.


 
 
 
 
Partenaires

Hébergement Web