【问题标题】:detailsview: insert / update single recorddetailsview:插入/更新单条记录
【发布时间】:2013-03-01 02:24:17
【问题描述】:

我想实现以下场景...

本题相关表格如下:

ProfileID int(身份) 名字 varchar(100) 姓氏 varchar(100)

步骤 1. 用户访问profiles.aspx 页面。在网格视图中,他可以看到其他人的个人资料。 (我知道该怎么做。)

步骤 2. 用户访问 MyProfile.aspx 页面。由于他的个人资料不存在,因此详细信息视图是空白的,并启用了插入按钮。用户单击插入按钮,他只能添加自己的配置文件。 (我不知道该怎么做)。

第 3 步。添加用户配置文件后,它会显示在 profiles.aspx 页面上。他想更新自己的个人资料。他导航到带有 ProfileID 的 MyProfile.aspx 页面,比如说 33。 DetailsView 能够根据 profileid 提取他的个人资料并启用更新按钮。 (我不知道该怎么做。)

请有人帮我完成第 2 步和第 3 步。我不知道如何设置 sqldatasource 和 detailsview 来完成此操作。

提前谢谢你。

【问题讨论】:

    标签: detailsview sqldatasource


    【解决方案1】:

    好的,我会给你一个简单的解决方案,你可以根据自己的需要进行更改。

    对于第 2 步: 例如,您创建一个名为 create.aspx 的页面;在该页面中,您放置了所有需要的文本框和一个注册按钮。在该按钮的单击事件上写如下内容

    //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();
    

    您可以根据需要将哪些代码插入到数据库中。在 INSERT INTO 字符串中连接输入,但要非常小心,这可能会导致非常危险的 SqlInjection 错误。(请阅读有关它的文章)。

    对于第 3 步: 一切都是一样的,除了你必须使用 MSDN 上可以找到的“UPDATE ...”语句而不是放入“INSERT ....”语句。

    问候, 普利亚。

    【讨论】:

      【解决方案2】:

      看下面的例子............ 源文件.aspx 我正在使用 gridview 和 detailsview 来插入、更新、编辑 Truckmaster 表。 执行以下步骤: 1.take a gridview.assign datakeynames 作为您从表中的唯一列。您可以为每个字段编写 boundfields。事实上这是更好的方法。 2.获取数据源控制。将其绑定到您的表。 3.将此数据源绑定到Gridview。通过以下代码,您将更好地理解此步骤。 4.获取详细信息视图。将数据键名指定为表中的唯一列。 5.获取另一个数据源。将其绑定到同一个表。声明插入命令,选择命令。 声明选择参数,更新参数,如下面的代码。 希望对你有帮助。

      <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 TruckType=@pTruckType"
                         insertcommand    ="insert into tbl_TruckMaster(TruckType,TruckCapacity) values(@TruckType,@TruckCapacity)"
                         updatecommand    ="update tbl_TruckMaster set TruckCapacity=@TruckCapacity where TruckType=@pType"
          >
          <SelectParameters>
              <asp:ControlParameter ControlID="gridTruckMaster" Name="pTruckType" PropertyName="SelectedValue" />
          </SelectParameters>
          <UpdateParameters>
              <asp:ControlParameter ControlID="gridTruckMaster" Name="pType"      PropertyName="SelectedValue" />
          </UpdateParameters>
      </asp:SqlDataSource>
      

      如果您遇到问题,可以通过 tbchandgude@gmail.com 给我发邮件

      【讨论】:

        猜你喜欢
        • 2017-04-06
        • 1970-01-01
        • 2014-12-16
        • 1970-01-01
        • 2019-09-12
        • 1970-01-01
        • 2013-02-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多