2009-03-04 5 views
0

Je veux mettre en œuvre le scénario suivant ...detailsview: insertion/mise à jour unique enregistrement

table liée à cette question est la suivante:

ProfileID int (identité) FirstName varchar (100) LastName varchar (100)

étape 1. L'utilisateur visite la page profiles.aspx. Ici, dans une grille, il peut voir d'autres profils. (Je sais comment faire.)

Étape 2. L'utilisateur visite la page MyProfile.aspx. Comme son profil n'existe pas, l'affichage des détails est vide avec le bouton d'insertion activé. L'utilisateur clique sur le bouton d'insertion et il peut ajouter son propre profil uniquement. (Je ne sais pas comment faire).

Étape 3. Une fois le profil utilisateur ajouté, il apparaît sur la page profiles.aspx. Il veut mettre à jour son propre profil. Il navigue vers la page MyProfile.aspx avec ProfileID permet de dire 33. DetailsView est capable de remonter son profil en fonction de profileid et le bouton de mise à jour est activé. (Je ne sais pas comment faire.)

Pourriez-vous s'il vous plaît aidez-moi avec l'étape 2 et 3. Je ne sais pas comment configurer sqldatasource et detailsview pour accomplir cela.

Merci d'avance.

Répondre

0

Très bien, je vais vous donner une solution simple que vous pouvez modifier pour répondre à vos besoins.

Pour l'étape 2: Vous créez une page appelée par exemple create.aspx; dans cette page, vous mettez toutes les zones de texte dont vous avez besoin et un bouton pour l'enregistrement. En cas cliquée de ce bouton écrire quelque chose comme ci-dessous

//using System.Data; 
//using System.Data.Sql; you have to import these 

//Put connection string 
SqlConnection sqlcon = new SqlConnection("your connection string here which will be able to find in MSDN"); 
sql.Open(); 
SqlCommand sqlcmd = new SqlCommand("INSERT INTO Statement which easily find in MSDN too",sqlcon); 
sqlcmd.ExecuteNoneQuery(); 
sql.Close(); 

qui ce code, vous pouvez insérer dans la base de données que vous voulez. Dans la chaîne INSERT INTO vous concaténer vos entrées mais soyez très prudent et cela peut causer un bug SqlInjection qui est très dangereux. (Veuillez lire les articles à ce sujet). Pour l'étape 3: Pour l'étape 3: tout est identique sauf qu'au lieu de mettre l'instruction "INSERT ...." vous devez utiliser l'instruction "UPDATE ..." que vous pouvez trouver sur MSDN.

Cordialement, Pooria.

0

voir l'exemple suivant ........ fichier source .aspx J'utilise GridView et DetailsView pour insérer, mettre à jour, modifier une table de maisons de troc. procédez comme suit: 1.Prenez un gridview.assign datakeynames en tant que votre colonne unique de table.Vous pouvez écrire boundfields pour votre chaque champ.Infact est le meilleur moyen. 2. Prenez le contrôle de la source de données. Reliez-le à votre table. 3.Connectez cette source de données à Gridview. Vous comprendrez mieux ces étapes une fois que vous aurez parcouru le code suivant. 4.Prenez une vue détaillée. Attribuez datakeynames en tant que colonne unique de la table. 5.Prenez une autre source de données. Liez-la à la même commande table.declare insert, selectcommand. déclare paramètre select, paramètre de mise à jour comme dans le code ci-dessous. J'espère que ça va vous aider.

<asp:GridView id     ="gridTruckMaster" 
      runat    ="server" 
      CssClass   ="GridView" 
      DataKeyNames  ="TruckType" 
      DataSourceID  ="SqlDataSource1" 
      AutoGenerateColumns ="False" 
      ShowFooter   ="True" 
      AllowPaging   ="True"> 
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White"></FooterStyle> 
<RowStyle VerticalAlign="Top" BackColor="#F7F6F3" ForeColor="#333333"></RowStyle> 
<Columns> 
<asp:BoundField DataField="TruckType"  HeaderText="TruckType"  SortExpression="TruckType"></asp:BoundField> 
<asp:BoundField DataField="TruckCapacity" HeaderText="TruckCapacity" SortExpression="TruckCapacity"></asp:BoundField> 
<asp:CommandField ShowSelectButton="True"></asp:CommandField> 
</Columns> 
<PagerStyle  BackColor="#284775" HorizontalAlign="Center" ForeColor="White"></PagerStyle> 
<SelectedRowStyle BackColor="#669999" Font-Bold="True"   ForeColor="White"></SelectedRowStyle> 
<HeaderStyle  BackColor="#5D7B9D" Font-Bold="True"   ForeColor="White"></HeaderStyle> 
</asp:GridView> 

<asp:SqlDataSource ID    ="SqlDataSource1" 
        runat   ="server" 
        ConnectionString ="<%$ ConnectionStrings:GodrejReporterConnectionString %>" 
        SelectCommand ="SELECT [TruckType], [TruckCapacity] FROM [tbl_TruckMaster]"></asp:SqlDataSource> 


<asp:DetailsView id    ="dtlviewTruckMaster" 
       runat   ="server"   
       CssClass   ="GridView" 
       Width   ="125px" 
       DataKeyNames  ="TruckType" 
       Height   ="50px" 
       AutoGenerateRows ="False" 
       HeaderText  ="Truck Details" 
     ><Fields> 
<asp:BoundField DataField="TruckType"  HeaderText="TruckType" ReadOnly="True"></asp:BoundField> 
<asp:BoundField DataField="TruckCapacity" HeaderText="TruckCapacity"></asp:BoundField> 
<asp:CommandField ShowInsertButton="True"></asp:CommandField> 
<asp:CommandField ShowEditButton="True"></asp:CommandField> 
</Fields> 
<FooterStyle  BackColor="#5D7B9D"  Font-Bold="True" ForeColor="White"></FooterStyle> 
<RowStyle  VerticalAlign="Top"  BackColor="#F7F6F3" ForeColor="#333333"></RowStyle> 
<EditRowStyle Width="250px"   Height="10px"/> 
<InsertRowStyle Width="250px"   Height="10px" /> 
<PagerStyle  HorizontalAlign="Center" BackColor="#284775" ForeColor="White"></PagerStyle> 
<HeaderStyle  BackColor="#5D7B9D"  Font-Bold="True" ForeColor="White"></HeaderStyle> 
<CommandRowStyle BackColor="#5D7B9D" /> 
</asp:DetailsView> 

<asp:SqlDataSource ID    ="SqlDataSource2" 
        runat   ="server" 
        ConnectionString ="<%$ ConnectionStrings:GodrejReporterConnectionString %>" 
        SelectCommand ="SELECT [TruckType], [TruckCapacity] FROM [tbl_TruckMaster] where [email protected]" 
        insertcommand ="insert into tbl_TruckMaster(TruckType,TruckCapacity) values(@TruckType,@TruckCapacity)" 
        updatecommand ="update tbl_TruckMaster set [email protected] where [email protected]" 
    > 
    <SelectParameters> 
     <asp:ControlParameter ControlID="gridTruckMaster" Name="pTruckType" PropertyName="SelectedValue" /> 
    </SelectParameters> 
    <UpdateParameters> 
     <asp:ControlParameter ControlID="gridTruckMaster" Name="pType"  PropertyName="SelectedValue" /> 
    </UpdateParameters> 
</asp:SqlDataSource> 

Si vous rencontrez un problème, vous pouvez m'envoyer un mail à tbchandgude @ gmail.avec

Questions connexes