ASP.NET插入数据库按钮有帮助吗?

时间:2011-12-03 20:54:22

标签: asp.net

我正在尝试将新产品插入到我的数据库中,但我不确定如何使我的“添加产品”按钮正常工作。 gridview帮助我设置编辑/更新/删除并完美地工作。但我不知道如何使我的按钮进行通信并从我的4个文本框添加到我的数据库数据库。我不确定下面的代码是否有用。

要解释虽然底部表格包含我试图从值插入到我的数据库中的文本框。也许有一个我失踪的财产?

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
    DataKeyNames="ProductCode" DataSourceID="AccessDataSource1">
    <Columns>
        <asp:BoundField DataField="ProductCode" HeaderText="ProductCode" 
            ReadOnly="True" SortExpression="ProductCode" />
        <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
        <asp:BoundField DataField="Version" HeaderText="Version" 
            SortExpression="Version" />
        <asp:BoundField DataField="ReleaseDate" HeaderText="ReleaseDate" 
            SortExpression="ReleaseDate" />
        <asp:CommandField ButtonType="Button" ShowEditButton="True" />
        <asp:CommandField ButtonType="Button" ShowDeleteButton="True" />
    </Columns>
</asp:GridView>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" 
    DataFile="~/App_Data/TechSupport.mdb" 
    DeleteCommand="DELETE FROM [Products] WHERE [ProductCode] = ?" 
    InsertCommand="INSERT INTO [Products] ([ProductCode], [Name], [Version], [ReleaseDate]) VALUES (?, ?, ?, ?)" 
    SelectCommand="SELECT * FROM [Products] ORDER BY [ProductCode]" 
    UpdateCommand="UPDATE [Products] SET [Name] = ?, [Version] = ?, [ReleaseDate] = ? WHERE [ProductCode] = ?">
    <DeleteParameters>
        <asp:Parameter Name="ProductCode" Type="String" />
    </DeleteParameters>
    <UpdateParameters>
        <asp:Parameter Name="Name" Type="String" />
        <asp:Parameter Name="Version" Type="Decimal" />
        <asp:Parameter Name="ReleaseDate" Type="DateTime" />
        <asp:Parameter Name="ProductCode" Type="String" />
    </UpdateParameters>
    <InsertParameters>
        <asp:Parameter Name="ProductCode" Type="String" />
        <asp:Parameter Name="Name" Type="String" />
        <asp:Parameter Name="Version" Type="Decimal" />
        <asp:Parameter Name="ReleaseDate" Type="DateTime" />
    </InsertParameters>
</asp:AccessDataSource>
<br />
<br />
To add a new Product, enter the product information below and Click Add Product!<br />
<br />
<table border="0" cellpadding="0" cellspacing="6"><tr><td>Product Code:</td><td><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td><td>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
        ErrorMessage="RequiredFieldValidator" ControlToValidate="TextBox1"></asp:RequiredFieldValidator></td></tr>
    <tr><td>Name:</td><td> <asp:TextBox ID="TextBox2" runat="server" Width="349px"></asp:TextBox></td><td>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
            ErrorMessage="RequiredFieldValidator" ControlToValidate="TextBox2"></asp:RequiredFieldValidator></td></tr>
    <tr><td>Version:</td><td><asp:TextBox ID="TextBox3" runat="server"></asp:TextBox></td><td>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" 
            ErrorMessage="RequiredFieldValidator" ControlToValidate="TextBox3"></asp:RequiredFieldValidator>
        </td></tr>
    <tr><td>Release Date:</td><td><asp:TextBox ID="TextBox4" runat="server">mm/dd/yy</asp:TextBox></td><td>
        &nbsp;</td></tr>
    </table>
    <br />
    <br />
<asp:Button ID="Button1" runat="server" Text="Add Product" />
</asp:Content>

1 个答案:

答案 0 :(得分:2)

将插入参数从Parameter转换为ControlParameter,为每个参数使用ControlID属性值的相应文本框ID,为Text属性值使用PropertyName(即改变InserParameters部分如下)。之后,将以下代码放在Button1 Click事件处理程序中:AccessDataSource1.Insert()

<InsertParameters>
    <asp:ControlParameter Name="ProductCode" Type="String" ControlID="TextBox1" PropertyName="Text" />
    <asp:ControlParameter Name="Name" Type="String" ControlID="TextBox2" PropertyName="Text"/>
    <asp:ControlParameter Name="Version" Type="Decimal" ControlID="TextBox3" PropertyName="Text"/>
    <asp:ControlParameter Name="ReleaseDate" Type="DateTime" ControlID="TextBox4" PropertyName="Text" ConvertEmptyStringToNull="true"/>
</InsertParameters>