Bonjour,

Je suis stagiaire dans une boite d'intérim, et les différents buts de mon stage sont de leur faire une appli web de gestion des contacts/rdv/etc. ainsi que d'apprendre la programmation web en VB/ASP.net.

J'ai un mal de chien pour le moment à comprendre pourquoi le code ne passe jamais par l'endroit que j'ai choisi.

Un peu de code d'abord :

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
 
 
<%@ Page Title="Qui sommes-nous" Language="vb" MasterPageFile="~/Site.Master" AutoEventWireup="false"
    CodeBehind="About.aspx.vb" Inherits="WebApplication2.About" %>
 
    <script runat="server">
Private Sub InsertClient (ByVal Source As Object, ByVal e As EventArgs)
  SqlDataSource4.Insert()
End Sub
</script>
 
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
        <div id="FormulaireAjoutProspect" align="center">
            <asp:SqlDataSource ID="SqlDataSource4" runat="server" 
                ConnectionString="<%$ ConnectionStrings:schema_crmConnectionString %>" 
                InsertCommand="INSERT INTO client (idClient, nomCompteClient, telCentral, typeCompte, FK_gestCompte) VALUES ('5','encoreuntest', '118218', 'Client', 1);" 
                ProviderName="<%$ ConnectionStrings:schema_crmConnectionString.ProviderName %>" 
                SelectCommand="SELECT * FROM client;"></asp:SqlDataSource>
 
 <table style="width:100%;">
            <tr>
                <td style="height: 29px; width: 200px;" align="right" width="100">
                    Nom</td>
                <td style="height: 29px; width: 200px;" align="left" width="150">
                    <input id="Text1" type="text" /></td>
            </tr>
</table>
 
 
 
        <input id="Submit1" type="submit" value="Ajouter" style="width: 145px" onclick="InsertClient" />
        </div>
    </p>
</asp:Content>



Ma question : lorsque j’appuie sur le bouton "ajouter", j'aimerais qu'il rentre dans la fonction "InsertClient" (tout en haut du code^^). Pourquoi il ne le fait pas? Qu'ai-je mal fait?
Si j'arrive à rentrer dans cette fonction, exécutera-t'il la requête SQL que j'ai mise (pour test)?

Bonus :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
            <asp:SqlDataSource ID="SqlDataSource4" runat="server" 
                ConnectionString="<%$ ConnectionStrings:schema_crmConnectionString %>" 
                InsertCommand="INSERT INTO client (idClient, nomCompteClient, telCentral, typeCompte, FK_gestCompte) VALUES ('?','@NomClient', '118218', 'Client', 1);" 
                ProviderName="<%$ ConnectionStrings:schema_crmConnectionString.ProviderName %>" 
                SelectCommand="SELECT * FROM client;">
 
<InsertParameters>
<asp:Parameter NomClient="Text1" Type="String" />
</InsertParameters>
 
</asp:SqlDataSource>
Est-ce que ceci suffit pour que dans la BD, "nomCompteClient" soit rempli par la valeur que j'ai insérée dans le champ text1?
Par quoi dois-je remplacer le '?' pour que l'idClient soit automatiquement incrémenté par la DB? (paramétrée pour que la clé primaire soit un ID auto-incrémenté). Dois-je simplement laisser ce champ vide?