detailsview:插入/更新单个记录

时间:2009-03-04 02:34:37

标签: detailsview sqldatasource

我想实现以下方案......

与此问题相关的表格如下:

ProfileID int(标识) FirstName varchar(100) LastName varchar(100)

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

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

步骤3.添加用户个人资料后,它会显示在profiles.aspx页面上。他想更新自己的个人资料。他使用ProfileID导航到MyProfile.aspx页面,例如33。 DetailsView能够基于profileid提取他的个人资料并启用更新按钮。 (我不知道怎么做。)

有人可以帮助我完成第2步和第3步。我不知道如何设置sqldatasource和detailsview来实现这一目标。

提前谢谢。

2 个答案:

答案 0 :(得分:0)

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

对于第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步: 一切都是一样的,除了不要输入“INSERT ....”语句,你必须使用可以在MSDN上找到的“UPDATE ...”语句。

此致 Pooria。

答案 1 :(得分:0)

见下面的例子........ 源文件.aspx 我正在使用gridview和detailsview来插入,更新,编辑一个卡车司机表。 执行以下步骤: 1.使用gridview.assign datakeynames作为table中的唯一列。您可以为每个字段编写boundfields。实际上这是更好的方法。 2.进行数据源控制。将它绑定到您的表中。 3.将此数据源绑定到Gridview。一旦您完成以下代码,您将更好地理解这些步骤。 4.获取详细信息视图。将datakeynames作为表中的唯一列进行分配。 5.获取另一个数据源。将它绑定到同一个table.declare insertcommand,selectcommand。 声明select参数,updateparameter,如下面的代码所示。 希望它会对你有所帮助。

<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