2011-12-03 11 views
0

私のデータベースに新しい製品を挿入しようとしていますが、私はAdd Productボタンを正しく動作させる方法がわかりません。グリッドビューは編集/更新/削除の設定に役立ち、完全に機能します。しかし、私のボタンをどのように通信させ、4つのテキストボックスからデータベースデータベースに追加するかはわかりません。以下のコードが役立つかどうかはわかりません。ASP.NETのデータベースボタンへの挿入ヘルプ?

ボトムテーブルにはテキストボックスが含まれていますが、私は自分のデータベースに値を挿入しようとしています。多分私には行方不明の不動産がありますか? ParameterからControlParameter

<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> 

答えて

2

変換インサートパラメータ(すなわち、以下のようにInserParameters部を変更する)ControlIDプロパティ各パラメータの値とPropertyNameプロパティ値のTextための適切なテキストボックスのIDを使用します。その後、次のコードをButton1Clickイベントハンドラ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> 
+0

ありがとうございます!これは完全に機能しました! – allencoded

関連する問題