如下所示,在页面上放了一个Gridview用于显示、编辑数据,同时放了一个AccessDataSource作为数据源。
在GridView中“编辑”保存是通过GridView的选中行就是编辑模式来实现的。
现在的问题是,“Insert”操作怎么实现呢?Gridview似乎并没有提供一个Insert方法啊?
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="AppCode,Title"
            DataSourceID="AccessDataSource1">
            <Columns>
                <asp:BoundField DataField="AppCode" HeaderText="AppCode" ReadOnly="True" SortExpression="AppCode" />
                <asp:BoundField DataField="Title" HeaderText="Title" ReadOnly="True" SortExpression="Title" />
                <asp:BoundField DataField="VedioFile" HeaderText="VedioFile" SortExpression="VedioFile" />
                <asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" />
            </Columns>
        </asp:GridView>
        <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="/App_Data/heart.mdb"
            DeleteCommand="DELETE FROM [Vedio] WHERE (([AppCode] = ?) OR ([AppCode] IS NULL AND ? IS NULL)) AND (([Title] = ?) OR ([Title] IS NULL AND ? IS NULL))"
            InsertCommand="INSERT INTO [Vedio] ([AppCode], [Title], [VedioFile], [ID]) VALUES (?, ?, ?, ?)"
            SelectCommand="SELECT * FROM [Vedio]" UpdateCommand="UPDATE [Vedio] SET [VedioFile] = ?, [ID] = ? WHERE (([AppCode] = ?) OR ([AppCode] IS NULL AND ? IS NULL)) AND (([Title] = ?) OR ([Title] IS NULL AND ? IS NULL))">
            <DeleteParameters>
                <asp:Parameter Name="AppCode" Type="String" />
                <asp:Parameter Name="Title" Type="String" />
            </DeleteParameters>
            <UpdateParameters>
                <asp:Parameter Name="VedioFile" Type="String" />
                <asp:Parameter Name="ID" Type="Int32" />
                <asp:Parameter Name="AppCode" Type="String" />
                <asp:Parameter Name="Title" Type="String" />
            </UpdateParameters>
            <InsertParameters>
                <asp:Parameter Name="AppCode" Type="String" />
                <asp:Parameter Name="Title" Type="String" />
                <asp:Parameter Name="VedioFile" Type="String" />
                <asp:Parameter Name="ID" Type="Int32" />
            </InsertParameters>
        </asp:AccessDataSource>

解决方案 »

  1.   

    一般在GridView添加数据是放在Footer中,设置各列为模板列,编辑模板列FooterTemplate,
    在各个FooterTemplate加入TextBox;Button等控件,
    开始设置GridView的ShowFooter=false;即:
    GridView1.ShowFooter = false;在GridView外加一个"添加"按钮,点击该按钮执行:
    GridView1.ShowFooter = true;
    楼主看到的就是GridView的添加界面了!!
      

  2.   

    楼上的,谢谢.
    我还有点不明白,我的意思是AccessDataSource中有InsertCommand, InsertParameters,这个要怎么用呢?
      

  3.   

    我还有点不明白,我的意思是AccessDataSource中有InsertCommand, InsertParameters,这个要怎么用呢?
    如果只能自己写insert代码的话,上面这两个在VS.NET编辑环境下自动生成的属性有什么用呢?
      

  4.   

    我的意思是AccessDataSource中有InsertCommand, InsertParameters,这个要怎么用呢? 
    如果只能自己写insert代码的话,上面这两个在VS.NET编辑环境下自动生成的属性有什么用呢?
      

  5.   

    AccessDataSource可以用代码也可以用界面设置,
    界面设置就是点AccessDataSource进入"配置数据源"/.../点"指定自定义sql语句或存储过程"
    不要点"指定来自表或视图的列"
    这样你就可以设置select,update,insert,delete了!!
    insert的语句大概如下:INSERT INTO employees(name, sex, deptid, av) VALUES (?, ?, ?, ?)
    这里的?就可以用InsertParameters来设置,(当然也可以用控件来设置)
    一般代码如下:
    AccessDataSource1.InsertParameters["name"].DefaultValue = "金正日";
    .......
    保存代码:
    AccessDataSource1.Insert();呵呵!打这点文字还是很累的!!