2009-03-04 74 views
0

我要实现以下情形......DetailsView控件:插入/更新单个记录

表与此相关的问题如下:

简档INT(标识) 名字为varchar(100) 姓氏varchar(100)

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

第2步。用户访问MyProfile.aspx页面。由于他的配置文件不存在,所以详细信息视图在启用插入按钮时是空白的。用户单击插入按钮,他只能添加他自己的配置文件。 (我不知道如何做到这一点)。

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

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

预先感谢您。

回答

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 ...”语句。

Regards, Pooria。

0

见下例........ 源文件的.aspx 我使用的GridView和DetailsView插入,更新,编辑truckmaster表。 执行以下步骤: 1.将gridview.assign datakeynames作为您的唯一列从table中取出。您可以为每个字段写入boundfields。事实上,这是更好的方法。 2.采取数据源控制。绑定到您的表。 3.将这个数据源绑定到Gridview,一旦你通过下面的代码,你会更好地理解这个步骤。 4.获取详细信息视图。将datakeynames分配为表中的唯一列。 5.取另一个数据源。将其绑定到相同的table.declare insertcommand,selectcommand。 声明选择参数,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 [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> 

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

相关问题