Bonjour,

Je souhaite mettre à jour la base de donnée selon les valeurs saisies dans les EditText..
Donc voici, comment j'ai codé ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
package com.example.cartedefidelite;
 
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
 
public class ModificationClientActivity extends DetailClientActivity {
	clientBDD clibdd = new clientBDD(this);
	client cli = new client("", "", "", "", "", "", "", 0, 0);
	client cli2 = new client("","","","","","","",0,0);
	Button modifier;
	EditText nom;
	EditText prenom;
	EditText adresse;
	EditText cp;
	EditText ville;
	EditText mail;
	EditText tel;
	EditText pizzaencours;
	EditText pizzatotal;
	String strNom;
	String strPrenom;
	String strAdresse;
	String strCp;
	String strVille;
	String strMail;
	String strTel;
	int identifiant;
 
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.modifierclient);
		Bundle objetbundle = this.getIntent().getExtras();
		identifiant = objetbundle.getInt("identifiant");
		nom = (EditText) findViewById(R.id.EtNom);
		prenom = (EditText) findViewById(R.id.EtPrenom);
		adresse = (EditText) findViewById(R.id.EtAdresse);
		cp = (EditText) findViewById(R.id.EtCp);
		ville = (EditText) findViewById(R.id.EtVille);
		mail = (EditText) findViewById(R.id.EtMail);
		tel = (EditText) findViewById(R.id.EtTel);
		modifier = (Button) findViewById(R.id.modifier);
		clibdd.open();
		cli = clibdd.getClientwithId(identifiant);
		nom.setHint(cli.getNom());
		prenom.setHint(cli.getPrenom());
		adresse.setHint(cli.getAdresse());
		cp.setHint(cli.getCp());
		ville.setHint(cli.getVille());
		mail.setHint(cli.getMail());
		tel.setHint(cli.getTel());
		modifier.setOnClickListener(modifierListener);
		clibdd.close();
	}
 
	private OnClickListener modifierListener = new OnClickListener() {
		public void onClick(View v) {
			// si l'utilisateur a cliqué sur le bouton modifier
			if (v == modifier) {
				// récupération des données saisies par l'utilisateur
			    cli2.setNom(nom.getText().toString());
                cli2.setPrenom(prenom.getText().toString());
				cli2.setAdresse(adresse.getText().toString());
				cli2.setCp(cp.getText().toString());
				cli2.setVille(ville.getText().toString());
				cli2.setMail(mail.getText().toString());
				cli2.setTel(tel.getText().toString());
				 // connexion à la base de donnée
				clibdd.open();
				cli = clibdd.getClientwithId(identifiant);			
				if(cli2.getNom() == null){
					cli.setNom(cli2.getNom());
				}
				if(cli2.getPrenom()== null)
				{
				   cli.setPrenom(cli2.getPrenom());
				}
				if(cli2.getAdresse()== null)
				{
					cli.setAdresse(cli2.getAdresse());
				}
				if(cli2.getCp()== null)
				{
					cli.setCp(cli2.getCp());
				}
				if(cli2.getVille()== null)
				{
					cli.setVille(cli2.getVille());
				}
				if(cli2.getMail()== null)
				{
					cli.setMail(cli2.getMail());
				}
				if(cli2.getTel()== null)
				{
					cli.setTel(cli2.getTel());
				}
			    // mise à jour du client dans la base de donnée
				clibdd.updateClient(identifiant, cli);
				// fermeture de la base de donnée
				clibdd.close();
				// fermeture de l'activité modidier
				finish();
 
			}
		}
	};
}
Mais quand j'essaye, de mettre à jour, le client, ça fait comme si ça ignorait les if... et ça me met des champs null où je n'ai pas saisi de valeurs...

Je vois pas le problème, malgré que j'ai essayé tout plein de trucs...
Comment peut ton remédier à ça?
Merci d'avance