none
Demande conseil pour developper formulaire sous VS2008 RRS feed

  • Question

  •  

    Bonjour

    je ne sais pas du tout comment m'y prendre pour créer des formulaires via des pages webs.

    Voici comment je travaille:

    j'ai crée sous SQL 2000 des tables, vues, procédure stockée

    maintenant je dois créer des formulaires via ces tables, vue ou procedure stockée mais je ne sais pas du tout comment on procéde, je suis sur Visual Studio 2008.

    Exemple de formulaire:

    je dois inscrire les intiales d'un de mes techniciens -> ca m'affiche son nom ainsi que son prénom

    j'inscris un numéro de contrat -> ca m'affiche toutes ses caractéristiques

    j'inscris la date

     

    pour ca j'ai créer une vue qui doit récupérer des info

     

    j'espere avoir été assez claire, aidez moi je suis débutante et il faut qu ece projet avance vite

     

    Merci a vous

    mercredi 21 mai 2008 11:54

Toutes les réponses

  • Bonjour,

     

    je vous conseille la coach ASP.NET pour apprendre rapidement à développer une application web  :

    http://msdn.microsoft.com/fr-fr/asp.net/bb330941.aspx

     

    En espérant avoir pu vous aider.

     

    Audrey

     

    mercredi 21 mai 2008 12:36
  •  

    Bonjour,

     

    Vous avez un contrôle Web fait spécialement pour ça : il s'agit du SqlDataSource.

    Je vous recommande de réaliser l'atelier n°4 du coach Web ASP.NET dans lequel vous apprendrez comment utiliser ce fameux SQLDataSource sans écrire une seule ligne de code.

     

     

    Cordialement.

     

    mercredi 21 mai 2008 12:42
  • merci si j'ai des questions pourrai je vous les formuler?

    merci

    mercredi 21 mai 2008 12:47
  • Bien sûr !

    Le forum est fait pour ça, pour poser des questions sur le développement !

    A bientôt.

     

    mercredi 21 mai 2008 12:55
  • Bonjour, j'ai suivi vos conseil et j'ai visionné les lecons du coach ASP.Net

    j'ai plusieurs petites questions:

    1/comment puis je faire pour entrer mes données dans des requetes?(j'ai pas trouvé sur le site)

    2/j'ai une erreur du type; Clause Handle requiert une variable WithEvents définie dans le type conteneur ou l'un de ses types de base

    j'ai pas compris ce qu'il me demandait?

    cette erreur survient sur cette ligne:

    <asp:Label ID="Label1" runat="server" Text="Initiales: "></asp:Label>

     

     

    Merci de votre aide

    jeudi 22 mai 2008 07:56
  • Bonjour,

     

    pour votre première question, je vous conseille les SqlParameter :

    http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparameter(fr-fr).aspx

     

    De plus ce petit tutorial me semble répondre à votre interrogation :

    http://www.csharpfr.com/tutoriaux/COMMENT-FAIRE-REQUETE-PARAMETREE-DANS-BASE-DONNEE_710.aspx

     

    pour votre deuxième question, l'erreur est en rapport avec un problème d'abonnement à un évenement (http://msdn.microsoft.com/fr-fr/library/32787dt6(VS.80).aspx), mais l'erreur n'a pas l'air de porter sur la ligne que vous avez donné. Serait-il possible d'avoir un peu plus de détail sur votre code ?

     

    jeudi 22 mai 2008 09:06
  • j'ai écris cela avec de l'aide quand meme
    Code :
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Page 2: Informations</title>
    </head>
    <body>
        <form id="form1" runat="server">
            La date : <% =Now()%> <br />
            <aspTongue TiedqlDataSource ID="SqlDataSource1" runat="server"
                ConnectionString="<%$ ConnectionStringsStick out tongueRODUCTIONConnectionString %>"
               
                InsertCommand="INSERT INTO VUE_PRISE_DE_POSTE(Initiales, Date, Heure_debut) VALUES (,,)" >
               
            </aspTongue TiedqlDataSource>
            <asp:FormView ID="FormView1" runat="server" DataSourceID="SqlDataSource1"
                DefaultMode="
    Insert" AllowPaging="True">
                <EditItemTemplate>
                    Initiales:
                    <asp:TextBox ID="InitialesTextBox" runat="server"
                        Text='<%# Bind("
    Initiales") %>' />
                    <br />
                    Heure_debut:
                    <asp:TextBox ID="Heure_debutTextBox" runat="server"
                        Text='<%# Bind("
    Heure_debut") %>' />
                    <br />
                    Date:
                    <asp:TextBox ID="DateTextBox" runat="server" Text='<%# Bind("Date") %>' />
                    <br />
                    <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True"
                        CommandName="
    Update" Text="Mettre à jour" />
                    &nbsp;<asp:LinkButton ID="UpdateCancelButton" runat="server"
                        CausesValidation="
    False" CommandName="Cancel" Text="Annuler" />
                </EditItemTemplate>
                <InsertItemTemplate>
                    Initiales:
                    <asp:TextBox ID="InitialesTextBox" runat="server"
                        Text='<%# Bind("
    Initiales") %>' />
                    <br />
                    Heure_debut:
                    <asp:TextBox ID="Heure_debutTextBox" runat="server"
                        Text='<%# Bind("
    Heure_debut") %>' />
                    <br />
                    Date:
                    <asp:TextBox ID="DateTextBox" runat="server" Text='<%# Bind("Date") %>' />
                    <br />
                    <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True"
                        CommandName="
    Insert" Text="Insérer" />
                    &nbsp;<asp:LinkButton ID="InsertCancelButton" runat="server"
                        CausesValidation="
    False" CommandName="Cancel" Text="Annuler" />
                </InsertItemTemplate>
                <ItemTemplate>
                    Initiales:
                    <asp:Label ID="InitialesLabel" runat="server" Text='<%# Bind("Initiales") %>' />
                    <br />
                    Heure_debut:
                    <asp:Label ID="Heure_debutLabel" runat="server"
                        Text='<%# Bind("
    Heure_debut") %>' />
                    <br />
                    Date:
                    <asp:Label ID="DateLabel" runat="server" Text='<%# Bind("Date") %>' />
                    <br />
                </ItemTemplate>
            </asp:FormView>
           
        
           
        </form>
      
        </body>
    </html>
    j'ai deux erreurs qui sont les memes:

    Citation:
    La clause Handles requiert une variable WithEvents définie dans le type conteneur ou l'un de ses types de base. C:\Documents and Settings\JEAN CLAUDE RAGON\Mes documents\Visual Studio 2008\Projects\WebApplication1\WebApplication1\Page2.aspx.vb
    a la ligne 12 donc a ConnectionString="<%$ ConnectionStringsRODUCTIONConnectionString %>"

    MErci de m'accorder du temps
    jeudi 22 mai 2008 09:15
  • Vos erreurs portent sur les fichiers aspx.vb. Vous avez copié le html, alors que les erreurs se trouvent dans le code vb. Pourriez vous copier le code vb correspondant au fichier Page2 ?

     

    jeudi 22 mai 2008 09:20
  • pardon voici

     

    Public Partial Class Page2

    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    End Sub

    Protected Sub DataList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles DataList1.SelectedIndexChanged

    End Sub

    Protected Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles TextBox1.TextChanged

    End Sub

    End Class

    jeudi 22 mai 2008 09:23
  • Vous devriez vérifier si le control DataList1 est bien abonné à l'évenement SelectedIndexChanged, et si le control TextBox1 est bien abonné à l'évenement TextChanged.

    Pour voir cela, allez dans le mode design de votre page, sélectionné le control souhaité et regardez dans sa liste d'évenements si le nom de la méthode vb est bien associé à l'évenement souhaité.

    jeudi 22 mai 2008 09:31
  • Merci pour vos conseils

    en faite je n'utilisais plus de Datalist1 et textbox comme il ne l'ai voyait plus, ilme mettait une erreur

     

    j'ai encore un soucis

    quand j'entre mes données dans la page web il m'indique

     

    Erreur du serveur dans l'application '/'.

    Ligne 1 : syntaxe incorrecte vers ','.

    Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    Détails de l'exception: System.Data.SqlClient.SqlException: Ligne 1 : syntaxe incorrecte vers ','.

    Erreur source:

    Une exception non gérée s'est produite lors de l'exécution de la demande Web actuelle. Les informations relatives à l'origine et l'emplacement de l'exception peuvent être identifiées en utilisant la trace de la pile d'exception ci-dessous.

    Trace de la pile:

    [SqlException (0x80131904): Ligne 1 : syntaxe incorrecte vers ','.]
       System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +925466
       System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +800118
       System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +186
       System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1932
       System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +149
       System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +1005
       System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +132
       System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +149
       System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +135
       System.Web.UI.WebControls.SqlDataSourceView.ExecuteDbCommand(DbCommand command, DataSourceOperation operation) +404
       System.Web.UI.WebControls.SqlDataSourceView.ExecuteInsert(IDictionary values) +447
       System.Web.UI.DataSourceView.Insert(IDictionary values, DataSourceViewOperationCallback callback) +72
       System.Web.UI.WebControls.FormView.HandleInsert(String commandArg, Boolean causesValidation) +388
       System.Web.UI.WebControls.FormView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +602
       System.Web.UI.WebControls.FormView.OnBubbleEvent(Object source, EventArgs e) +95
       System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
       System.Web.UI.WebControls.FormViewRow.OnBubbleEvent(Object source, EventArgs e) +109
       System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
       System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +115
       System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +132
       System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +177
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746
    

     

    jeudi 22 mai 2008 09:51
  • Pourriez-vous copier la ligne 1 où l'erreur se produit, afin de pourvoir essayer de trouver l'erreur ?

    jeudi 22 mai 2008 09:56
  • le probleme c'est que je ne sais ^pas de quelle ligne il parle(je suis peut etre bete)

    jeudi 22 mai 2008 10:01
  • Regardez dans la barre d'adresse de votre navigateur pour voir quelle page il essaye de charger lorsque l'erreur se produit. Au vu du message d'erreur je dirais que l'erreur vient de la connexion SQL.

    jeudi 22 mai 2008 10:06
  • Bonjour,

    Le message d'erreur provient de la syntaxe de la requête INSERT qui n'est pas correcte :

     

    InsertCommand="INSERT INTO VUE_PRISE_DE_POSTE(Initiales, Date, Heure_debut) VALUES (,,)"

     

    Vous devriez reprendre en mode design la configuration du SqlDataSource de façon à générer automatiquement les requêtes Select Update insert et Delete.

     

     

    jeudi 22 mai 2008 10:49
  • Merci pour votre reponse

    c'est deja une requete générer automatiquement

    je vérifie quand meme on ne sait jamais

    jeudi 22 mai 2008 10:52
  • apparement c'est ma requete

    INSERT INTO VUE_PRISE_DE_POSTE
                          (Initiales, Heure_debut, Date)
    VALUES     (,,)

     

    il n'aime pas le value(,,) mais je ne vois pas ce que je dois mettre dedans

    jeudi 22 mai 2008 10:55
  • j'ai fait des modifications et maintenant il me dit que c'est

    Erreur du serveur dans l'application '/'.

    L'insertion n'est pas prise en charge par la source de données 'SqlDataSource1' sauf si InsertCommand est spécifié.

    Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    Détails de l'exception: System.NotSupportedException: L'insertion n'est pas prise en charge par la source de données 'SqlDataSource1' sauf si InsertCommand est spécifié.

    Erreur source:

    Une exception non gérée s'est produite lors de l'exécution de la demande Web actuelle. Les informations relatives à l'origine et l'emplacement de l'exception peuvent être identifiées en utilisant la trace de la pile d'exception ci-dessous.

    Trace de la pile:

    [NotSupportedException: L'insertion n'est pas prise en charge par la source de données 'SqlDataSource1' sauf si InsertCommand est spécifié.]
       System.Web.UI.WebControls.SqlDataSourceView.ExecuteInsert(IDictionary values) +1875035
       System.Web.UI.DataSourceView.Insert(IDictionary values, DataSourceViewOperationCallback callback) +72
       System.Web.UI.WebControls.FormView.HandleInsert(String commandArg, Boolean causesValidation) +388
       System.Web.UI.WebControls.FormView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +602
       System.Web.UI.WebControls.FormView.OnBubbleEvent(Object source, EventArgs e) +95
       System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
       System.Web.UI.WebControls.FormViewRow.OnBubbleEvent(Object source, EventArgs e) +109
       System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
       System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +115
       System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +132
       System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +177
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746
    

    jeudi 22 mai 2008 11:23
  • Bonjour,

     

    1°)

    En mode Design, Cliquez touche droite sur le controle SqlDataSource, puis choisissez " Configurer la source de données"

     

    2°)

    Lorsque vous arrivez sur la fenêtre "Configurer l'instruction Select", cochez la case

    "Spécifez les colonnes d'une table ou d'une vue"

     

    Choisissez la table et les différents champs.

    Dans cette même fenêtre, cliquez sur le bouton "Options avancées"

    puis cochez les deux options "Générer des instructions INSERT,UPDATE,DELETE"

    et "Utiliser l'accès concurrentiel optimiste"

     

    3°) dans la fenêtre "Tester la requête" cliquez sur le bouton "Tester la requête" pour vérifier que vous n'avez pas fait d'erreur.

     

    4°) Cliquez sur le bouton "Terminer"

     

     

    Quand vous repassez en mode Source, vous devriez voir la déclaration du SqlDataSource :

    <aspTongue TiedqlDataSource id="..."

    deleteCommand="..."

    insertCommand="..."

    SelectCommand="..."

    UpdateCommand="..." >

    <DeleteParameters> ...</DeleteParameters>

    <UpdateParameters> ...</UpdateParameters>

    <InsertParameters> ...</InsertParameters>

    </aspTongue TiedqlDataSource>

     

    jeudi 22 mai 2008 12:37
  •  

    Je ne peux pas accéder a l'option Avancée tout est griséé!!!
    jeudi 22 mai 2008 13:07
  •  

    l'option avancée n'est plus griséé si je choisis une table!!!

     

    j'ai une erreur ensuite d'entréé de chaine

    jeudi 22 mai 2008 13:15
  •  

    l'erreur de chaine venait d'un mauvais format lors de la saisie

    ca entre bien mes données dans la table Prise de Poste

     

    Est possible dans une vue?

    jeudi 22 mai 2008 13:21
  • bonjour

    je n'ai pas eu de vos nouvelles concernant la question si on pouvait inserer des données dans une requete car pas de réponses

     

    aujourd'hui un autre soucis se pose

    j'arrive pas a faire une radiobuttonlist avec des données venant de SQL

    j'ai crée un SQLDataSource avec comme configuration la clé primaire et les champs m'interessant

     

    et lorsque je veux crée une radiobuttonlist je reprends la souce de sqlDataSource mais la rien ne s'affiche

    je dois mal faire mais je vois pas

    vendredi 23 mai 2008 08:03
  • Bonjour,

     

    concernant votre question sur l'insertion de données dans un requête, je vous avais répondu un peu plus haut :

     

    pour votre première question, je vous conseille les SqlParameter :

    http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparameter(fr-fr).aspx

     

    De plus ce petit tutorial me semble répondre à votre interrogation :

    http://www.csharpfr.com/tutoriaux/COMMENT-FAIRE-REQUETE-PARAMETREE-DANS-BASE-DONNEE_710.aspx

     

     

    En ce qui concerne votre radiobuttonlist, voici un lien qui pourrait vous aider :

    http://msdn.microsoft.com/fr-fr/library/31723w77(VS.80).aspx

     

    vendredi 23 mai 2008 08:22
  •  

    Merci pour vos réponse

    en faite je voudrais utiliser mes propres requetes crées sous SQL 2000

    je les vois bien mais je ne peux pas utiliser l'option avancé en ce qui concerne INSERT DELETE UPDATE

     

    je vais lire le sujet sur les radio boutons

    vendredi 23 mai 2008 08:43