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 :
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?
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>
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?
Partager