Asp.net 2.0 使用FormView + ObjectDataSource 或 SqlDataSource 插入记录后 定位到被插入行...

文件下载地址包含sql2k5的mdf 请自行附加:http://files.cnblogs.com/iCaca/SqlOutputParameter.rar

createtable 是sql2k5的语法 2k可能会报错 请自行修改

ContractedBlock.gif ExpandedBlockStart.gif Tabel User
 1None.gifCREATE TABLE [dbo].[User](
 2None.gif    [ID] [int] IDENTITY(1,1NOT NULL,
 3None.gif    [Name] [nvarchar](50NULL,
 4None.gif    [ReMark] [nvarchar](1000NULL,
 5None.gif CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED 
 6None.gif(
 7None.gif    [ID] ASC
 8None.gif)WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFFON [PRIMARY]
 9None.gifON [PRIMARY]
10None.gif

ContractedBlock.gif ExpandedBlockStart.gif 存储过程
 1None.gifCREATE PROCEDURE [dbo].[User_Delete]
 2None.gif@ID int
 3None.gif
 4None.gifAS
 5None.gifBEGIN
 6None.gifDelete [user] where id=@id
 7None.gif
 8None.gifEND
 9None.gif
10None.gifCREATE PROCEDURE [dbo].[User_GetList]
11None.gif
12None.gifAS
13None.gifBEGIN
14None.gifselect * from [user]
15None.gifEND
16None.gif
17None.gifCREATE PROCEDURE [dbo].[User_Add]
18None.gif@Name nvarchar(50),
19None.gif@Remark nvarchar(1000),
20None.gif@Returns int output
21None.gifAS
22None.gifBEGIN
23None.gifinsert into [user] values(@Name,@Remark)
24None.gifselect @Returns= @@identity;  
25None.gifEND
26None.gif
27None.gifCREATE PROCEDURE [dbo].[User_Update]
28None.gif@ID int,
29None.gif@Name nvarchar(1000),
30None.gif@Remark nvarchar(2000)
31None.gifAS
32None.gifBEGIN
33None.gifupdate [user] set [Name]=@Name ,Remark=@Remark where id=@id
34None.gif
35None.gifEND

ContractedBlock.gif ExpandedBlockStart.gif Default.aspx
 1ExpandedBlockStart.gifContractedBlock.gif<%dot.gif@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
 2None.gif
 3None.gif<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 4None.gif
 5None.gif<html xmlns="http://www.w3.org/1999/xhtml" >
 6None.gif<head runat="server">
 7None.gif    <title>无标题页</title>
 8None.gif</head>
 9None.gif<body>
10None.gif    <form id="form1" runat="server">
11None.gif    <div>
12None.gif        <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
13None.gif            AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="SqlDataSource1" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
14None.gif            <Columns>
15None.gif                <asp:CommandField ShowSelectButton="True" />
16None.gif                <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True"
17None.gif                    SortExpression="ID" />
18None.gif                <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
19None.gif                <asp:BoundField DataField="ReMark" HeaderText="ReMark" SortExpression="ReMark" />
20None.gif            </Columns>
21None.gif        </asp:GridView>
22None.gif    
23None.gif    </div>
24None.gif        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:TestSqlDataSourceConnectionString %>"
25None.gif            SelectCommand="User_GetList" SelectCommandType="StoredProcedure"></asp:SqlDataSource>
26None.gif        <asp:FormView ID="FormView1" runat="server" DataKeyNames="ID" DataSourceID="SqlDataSource2" >
27None.gif            <EditItemTemplate>
28None.gif                ID:
29None.gif                <asp:Label ID="IDLabel1" runat="server" Text='<%# Eval("ID") %>'></asp:Label><br />
30None.gif                Name:
31None.gif                <asp:TextBox ID="NameTextBox" runat="server" Text='<%# Bind("Name") %>'>
32None.gif                </asp:TextBox><br />
33None.gif                ReMark:
34None.gif                <asp:TextBox ID="ReMarkTextBox" runat="server" Text='<%# Bind("ReMark") %>'>
35None.gif                </asp:TextBox><br />
36None.gif                <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update"
37None.gif                    Text="更新">
38None.gif                </asp:LinkButton>
39None.gif                <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
40None.gif                    Text="取消">
41None.gif                </asp:LinkButton>
42None.gif            </EditItemTemplate>
43None.gif            <InsertItemTemplate>
44None.gif                Name:
45None.gif                <asp:TextBox ID="NameTextBox" runat="server" Text='<%# Bind("Name") %>'>
46None.gif                </asp:TextBox><br />
47None.gif                ReMark:
48None.gif                <asp:TextBox ID="ReMarkTextBox" runat="server" Text='<%# Bind("ReMark") %>'>
49None.gif                </asp:TextBox><br />
50None.gif                <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert"
51None.gif                    Text="插入">
52None.gif                </asp:LinkButton>
53None.gif                <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
54None.gif                    Text="取消">
55None.gif                </asp:LinkButton>
56None.gif            </InsertItemTemplate>
57None.gif            <ItemTemplate>
58None.gif                ID:
59None.gif                <asp:Label ID="IDLabel" runat="server" Text='<%# Eval("ID") %>'></asp:Label><br />
60None.gif                Name:
61None.gif                <asp:Label ID="NameLabel" runat="server" Text='<%# Bind("Name") %>'></asp:Label><br />
62None.gif                ReMark:
63None.gif                <asp:Label ID="ReMarkLabel" runat="server" Text='<%# Bind("ReMark") %>'></asp:Label><br />
64None.gif                <asp:LinkButton ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit"
65None.gif                    Text="编辑">
66None.gif                </asp:LinkButton>
67None.gif                <asp:LinkButton ID="DeleteButton" runat="server" CausesValidation="False" CommandName="Delete"
68None.gif                    Text="删除">
69None.gif                </asp:LinkButton>
70None.gif                <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New"
71None.gif                    Text="新建">
72None.gif                </asp:LinkButton>
73None.gif            </ItemTemplate>
74None.gif        </asp:FormView>
75None.gif        <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:TestSqlDataSourceConnectionString %>"
76None.gif            InsertCommand="User_Add" InsertCommandType="StoredProcedure" SelectCommand="User_GetModel"
77None.gif            SelectCommandType="StoredProcedure" UpdateCommand="User_Update" UpdateCommandType="StoredProcedure" OnInserted="SqlDataSource2_Inserted"  DeleteCommand="User_Delete" DeleteCommandType="StoredProcedure">
78None.gif            <UpdateParameters>
79None.gif                <asp:Parameter Name="id" Type="Int32" />
80None.gif                <asp:Parameter Name="Remark" Type="String" />
81None.gif            </UpdateParameters>
82None.gif            <SelectParameters>
83None.gif                <asp:Parameter Name="id"
84None.gif                  Type="Int32" />
85None.gif            </SelectParameters>
86None.gif            <InsertParameters>
87None.gif                <asp:Parameter Name="Name" Type="String" />
88None.gif                <asp:Parameter Name="Remark" Type="String" />
89None.gif                <asp:Parameter Direction="InputOutput" Name="Returns" Type="Int32" />
90None.gif                
91None.gif            </InsertParameters>
92None.gif            <DeleteParameters>
93None.gif                <asp:Parameter Name="ID" Type="Int32" />
94None.gif            </DeleteParameters>
95None.gif        </asp:SqlDataSource>
96None.gif    </form>
97None.gif</body>
98None.gif</html>
99None.gif


ContractedBlock.gif ExpandedBlockStart.gif Default.aspx.cs
 1None.gifusing System;
 2None.gifusing System.Data;
 3None.gifusing System.Configuration;
 4None.gifusing System.Web;
 5None.gifusing System.Web.Security;
 6None.gifusing System.Web.UI;
 7None.gifusing System.Web.UI.WebControls;
 8None.gifusing System.Web.UI.WebControls.WebParts;
 9None.gifusing System.Web.UI.HtmlControls;
10None.gif
11None.gifpublic partial class _Default : System.Web.UI.Page
12ExpandedBlockStart.gifContractedBlock.gifdot.gif{
13InBlock.gif
14InBlock.gif    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
15ExpandedSubBlockStart.gifContractedSubBlock.gif    dot.gif{
16InBlock.gif        SqlDataSource2.SelectParameters[0].DefaultValue = GridView1.SelectedValue.ToString();
17InBlock.gif        FormView1.ChangeMode(FormViewMode.ReadOnly);
18ExpandedSubBlockEnd.gif    }

19InBlock.gif
20InBlock.gif    protected void SqlDataSource2_Inserted(object sender, SqlDataSourceStatusEventArgs e)
21ExpandedSubBlockStart.gifContractedSubBlock.gif    dot.gif{
22InBlock.gif        SqlDataSource2.SelectParameters[0].DefaultValue = e.Command.Parameters[2].Value.ToString();
23InBlock.gif        FormView1.ChangeMode(FormViewMode.Edit);
24InBlock.gif        Page.DataBind();
25ExpandedSubBlockEnd.gif    }

26InBlock.gif
27InBlock.gif
28InBlock.gif
29InBlock.gif
30ExpandedBlockEnd.gif}

31None.gif

最为关键的事件
void SqlDataSource2_Inserted(object sender, SqlDataSourceStatusEventArgs e)
    {
        SqlDataSource2.SelectParameters[0].DefaultValue = e.Command.Parameters[2].Value.ToString();
        FormView1.ChangeMode(FormViewMode.Edit);
        Page.DataBind();
    }

 ObjectDataSource原理相同 插入完后 取e.Command.Parameters 的值

 

转载于:https://www.cnblogs.com/iCaca/archive/2006/12/17/594528.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值