2011-12-23 5 views
0

私はウィザードを使ってInsert Edit UpdateとDeleteステートメントを作成しました。問題は、グリッドビューでは機能しないことです。私がそれらを使用するために行くとき、私はエラーを受け取ります:ASP.NET削除/挿入/更新の問題が表示されますが、表示されますか?使用しているウィザード

1つ以上の必要なパラメータの値はありません。

私は何が問題になるのだろうかと思っていましたか?データを照会して表示します。

<LoggedInTemplate> 
    <asp:LoginStatus ID="LoginStatus1" runat="server" /> 
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #FFFFFF"> 
<p style="font-size: 20px">Welcome Back!<br /> 
Begin Sharing and Reading Space Tips Below! 
</p> 



<p>&nbsp;Current Posts: 
    <asp:GridView ID="GridView1" runat="server" DataSourceID="AccessDataSource1" 
     AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" 
     BackColor="#DEBA84" BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" 
     CellPadding="3" CellSpacing="2" DataKeyNames="Title"> 
     <RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" /> 
     <Columns> 
      <asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" 
       ReadOnly="True" /> 
      <asp:BoundField DataField="User" HeaderText="User" SortExpression="User" /> 
      <asp:BoundField DataField="Timeof" HeaderText="Date" 
       SortExpression="Timeof" /> 
      <asp:BoundField DataField="Post" HeaderText="Post" SortExpression="Post" /> 
      <asp:CommandField ButtonType="Button" ShowEditButton="True" /> 
      <asp:CommandField ButtonType="Button" ShowDeleteButton="True" /> 
     </Columns> 
     <FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" /> 
     <PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" /> 
     <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" /> 
     <HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" /> 
    </asp:GridView> 

    <asp:AccessDataSource ID="AccessDataSource1" runat="server" 
     DataFile="~/App_Data/Posts.mdb" 
     SelectCommand="SELECT * FROM [UserPost] ORDER BY [Timeof]" 
     DeleteCommand="DELETE FROM [UserPost] WHERE (([Title] = ?) OR ([Title] IS NULL AND ? IS NULL))" 
     InsertCommand="INSERT INTO [UserPost] ([Title], [User], [Timeof], [Post]) VALUES (?, ?, ?, ?)" 
     UpdateCommand="UPDATE [UserPost] SET [User] = ?, [Timeof] = ?, [Post] = ? WHERE (([Title] = ?) OR ([Title] IS NULL AND ? IS NULL))"> 
     <DeleteParameters> 
      <asp:Parameter Name="Title" Type="String" /> 
     </DeleteParameters> 
     <UpdateParameters> 
      <asp:Parameter Name="User" Type="String" /> 
      <asp:Parameter Name="Timeof" Type="DateTime" /> 
      <asp:Parameter Name="Post" Type="String" /> 
      <asp:Parameter Name="Title" Type="String" /> 
     </UpdateParameters> 
     <InsertParameters> 
      <asp:Parameter Name="Title" Type="String" /> 
      <asp:Parameter Name="User" Type="String" /> 
      <asp:Parameter Name="Timeof" Type="DateTime" /> 
      <asp:Parameter Name="Post" Type="String" /> 
     </InsertParameters> 
    </asp:AccessDataSource> 

</p> 

    <table> 
    <tr><td> <asp:Label ID="Label1" runat="server" Text="User: "></asp:Label></td><td> 
     <asp:TextBox ID="TextBox1" runat="server" ValidationGroup="createpost"></asp:TextBox></td></tr> 
    <tr><td><asp:Label ID="Label2" runat="server" Text="Title: "></asp:Label></td><td><asp:TextBox ID="TextBox2" 
      runat="server" ValidationGroup="createpost"></asp:TextBox></td></tr> 
    <tr><td><asp:Label ID="Label3" runat="server" Text="Date: "></asp:Label></td><td> <asp:TextBox ID="TextBox3" 
      runat="server"></asp:TextBox></td></tr> 
    <tr><td valign="top"><asp:Label ID="Label4" runat="server" Text="Story: "></asp:Label></td><td valign="top"> 
     <asp:TextBox ID="TextBox4" runat="server" Height="129px" Width="474px" 
      TextMode="MultiLine"></asp:TextBox></td></tr> 
    </table> 
     <asp:Button ID="makepost" runat="server" Text="Post My Tip/Story" 
      ValidationGroup="createpost" onclick="makepost_Click" /><br /> 

</div> 

</LoggedInTemplate><AnonymousTemplate> 

    <asp:Login ID="Login1" runat="server" ForeColor="White"> 
    </asp:Login><br /><div style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; color:#FFFFFF">Please Register to be begin viewing and sharing your 
    <br />Star Wars Old Republic Tips and Stories!</div> 
</AnonymousTemplate> 
</asp:LoginView> 

答えて

1

私は今、アクセスは非常に良いではないんだけど、私は見(およびテスト)できるようDeleteCommandの中に、あなたは、2つのパラメータを指定してちょうど1を宣言これはSQL Serverのようなものではなく、パラメータに名前を付けて、クエリで多くの時間を使うことができます。これはUpdateCommandでは同じように発生しますが、より多くのパラメータがあります。

はこのような何かを試してみてください。

DeleteCommand="DELETE FROM UserPost WHERE (Title = ?)" 
UpdateCommand="UPDATE UserPost SET [User] = ?, Timeof = ?, Post = ? WHERE (Title = ?)" 

私がテストし、それが働きました。

編集:ほとんどの場合、タイトルフィールドではなく、テーブルで作業するためのID(ユニークなプライマリキー)があります。