Bonsoir,

Je suis actuellement en train de m'essayer à l'ASP.net, avec le langage C#.
Je me suis attelé à l'utilisation des bases de données, seulement j'ai quelques soucis.

Tout d'abord une petite description du fonctionnement de ma page :

On rempli un formulaire, lors de la validation, les champs sont envoyé par l'url à la même page, qui va les ajouté à la BDD.
Ensuite, le contenu de la base de donnée s'affiche.

Hors là, lors de la validation, UNE ligne est insérée (pas de problème donc), et si je rempli le formulaire et que je valide de nouveau, la MEME ligne est insérée, en plus d'une autre ligne contenant les variables du nouveau formulaire.

Voilà le code :
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
<%@ Page Title="Page d'accueil" Language="C#" AutoEventWireup="true"%>
 <script runat="server">
 
     protected void Page_Load(object sender, EventArgs e)
     {
 
         Application["id"] = getCount();
         //--- Mise en base de donnée
 
 
         if (Request.Params["n"] != null)
         {
             Application["id"] = Convert.ToInt32(Application["id"]) + 1;
 
 
             ajoutBDD(Convert.ToInt32(Application["id"]), Request.Params["n"].ToString(), Request.Params["v"].ToString(), Convert.ToInt32(Request.Params["cp"].ToString()), Request.Params["a"].ToString(), Request.Params["mail"].ToString(), Convert.ToInt32(Request.Params["s"].ToString()), Request.Params["tel"].ToString(), Request.Params["im"].ToString());
         }
 
         //--- Affichage de la base de donnée
         La.Text += "<br/>";
         La.Text += "<br/> Contenu de la base de donnée";
         La.Text += "<br/> ----------------------------<br/>";
         for (int i = 0; i < Convert.ToInt32(Application["id"]); i++)
         {
 
             affBDD(i);
             La.Text += "<br/>"; 
         }        
         La.Text += "<br/> ----------------------------<br/>";
 
 
     }
     protected int getCount()
     {
         // renvoi le nombre de ligne dans la BDD	       
     }
 
     protected void affBDD(int id)
     {
 
      	//Affiche le contenu de la base de donnée      
 
     } 
 
     protected void ajoutBDD(int id, string nom, string ville, int codePostal, string annonce, string email, int surface, string tel, string images)
     {
         try
         {
             // Chaine de connexion
             string connectString = "XXX; XXX; XXX; XXX";
 
             // Objet connection
             System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(connectString);
 
             // Ouverture
             connection.Open();
 
             // Objet Command
             System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand
				("INSERT INTO immob (\"id\",\"nom\",\"ville\",\"code_postal\" ,\"annonce\" ,\"email\" ,\"surface\" ,\"telephone\" ,\"images\") 
				values (\'"+id+"\',\'"+nom+"\',\'"+ville+"\',\'"+codePostal+"\',\'"+annonce+"\',\'"+email+"\',\'"+surface+"\',\'"+tel+"',\'"+images+"\')",connection);
 
             // Execution
             int affectedrows = command.ExecuteNonQuery();
             La.Text += "Nombre de lignes affectées" + affectedrows;
 
             // Fermeture connection
             connection.Close();
 
         }
         catch (Exception ex)
         {
             La.Text += ex.ToString();
 
         }
     }
 
     public void Check(object sender, EventArgs e) // lors de la validation du formulaire
     {
 
         Response.Redirect("Default.aspx?n=" + tbNom.Text + "&cp=" + tbCodePostal.Text+"&v=" + tbVille.Text+"&a=" + tbAnnonce.Text+"&s=" + tbSurface.Text+"&mail=" + tbMail.Text+"&im=" + tbImages.Text+ "&tel="+tbTel.Text);
     }
    </script>
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
<html>
        <head>
 
        </head>
        <body>
            <form id="Form1" runat="server">
                Nom, Prénom :
                <asp:TextBox id="tbNom" Runat="server"></asp:TextBox>
                <br />
                <br />
                Ville :
                <asp:TextBox id="tbVille" Runat="server"></asp:TextBox>
                <br />
                <br />
                Code postal :
                <asp:TextBox id="tbCodePostal" Runat="server"></asp:TextBox>
                <br />
                <br />
                Texte de l'annonce :
                <asp:TextBox id="tbAnnonce" Height = "200" Width="200" Runat="server"></asp:TextBox>
                <br />
                <br />
                Adresse email :
                <asp:TextBox id="tbMail" Runat="server"></asp:TextBox>
                <br />
                <br />
                Surface :
                <asp:TextBox id="tbSurface" Runat="server"></asp:TextBox>
                <br />
                <br />
                Téléphone : 
                <asp:TextBox id="tbTel" Runat="server"></asp:TextBox>
                <br />
                <br />
                Images :
                <asp:TextBox id="tbImages" Runat="server"></asp:TextBox>
                <br />
                <br />
                <asp:Button id="Submit" onclick="Check" Runat="server" Text="Valider"></asp:Button>
                <br />
                <br />
                <br />
                <asp:Label ID="La" runat = "server"></asp:Label>
            </form>
        </body>
    </html>
Si vous aviez une petite idée, ça m'aiderai :°