2012-01-02 119 views
1

編輯的GridView的錯誤,我有如下因素的完整代碼隨着MSACCESS DB.I已經使用SQL中的解碼功能query.When我按網格視圖編輯按鈕,它顯示瞭如下因素誤差與下拉列表

「DropDownList2網格視圖「擁有的SelectedValue這是無效的,因爲它沒有在項目列表中存在 參數名稱:值」 我的SQL數據源代碼如下

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DataConnectionString2 %>" 
      DeleteCommand="DELETE FROM [EMAILS] WHERE [ID] = ?" InsertCommand="INSERT INTO [EMAILS] ([Email], [FULLNAME],[FLAG]) VALUES (?, ?, ?)" 
      ProviderName="<%$ ConnectionStrings:DataConnectionString2.ProviderName %>" SelectCommand="SELECT ID, Email, FULLNAME, switch(FLAG = 1, 'Allowed', Flag = 0, 'Not Allowed') AS FLAG FROM EMAILS" 
      UpdateCommand="UPDATE [EMAILS] SET [Email] = ?, [FULLNAME] = ?,[FLAG] = ? WHERE [ID] = ?"> 
      <DeleteParameters> 
       <asp:Parameter Name="ID" Type="Int32" /> 
      </DeleteParameters> 
      <UpdateParameters> 
       <asp:Parameter Name="Email" Type="String" /> 
       <asp:Parameter Name="FULLNAME" Type="String" /> 
       <asp:Parameter Name="FLAG" Type="Int32" /> 
       <asp:Parameter Name="ID" Type="Int32" /> 
      </UpdateParameters> 
      <InsertParameters> 

       <asp:Parameter Name="Email" Type="String" /> 
       <asp:Parameter Name="FULLNAME" Type="String" /> 
       <asp:Parameter Name="FLAG" Type="Int32" /> 
      </InsertParameters> 
     </asp:SqlDataSource> 

和網格查看代碼是波紋管

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" 
      AutoGenerateColumns="False" BackColor="White" BorderColor="#CC9966" BorderStyle="None" 
      BorderWidth="1px" CellPadding="4" DataKeyNames="ID" DataSourceID="SqlDataSource1" 
      HorizontalAlign="Center" Width="821px" EmptyDataText="No Emails Found"> 
      <RowStyle BackColor="White" Font-Names="Arial" Font-Size="Small" ForeColor="Black" /> 
      <Columns> 
       <asp:CommandField ButtonType="Button" ShowEditButton="True" ShowSelectButton="True" ShowDeleteButton="True" /> 
       <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" 
        SortExpression="ID" Visible="False" /> 
       <asp:BoundField DataField="Email" HeaderText="Email" SortExpression="Email" /> 
       <asp:BoundField DataField="FULLNAME" HeaderText="Full Name" SortExpression="FULLNAME" /> 
       <asp:TemplateField HeaderText="Flag" SortExpression="FLAG"> 
        <EditItemTemplate> 
         <asp:DropDownList ID="DropDownList2" runat="server" SelectedValue="<%# Bind('FLAG') %>" AppendDataBoundItems="True"> 
          <asp:ListItem Value="1">Allowed</asp:ListItem> 
          <asp:ListItem Value="0">Not Allowed</asp:ListItem> 
         </asp:DropDownList> 
        </EditItemTemplate> 
        <ItemTemplate> 
         <asp:Label ID="Label1" runat="server" Text='<%# Bind("FLAG") %>'></asp:Label> 
        </ItemTemplate> 
       </asp:TemplateField> 
      </Columns> 
      <FooterStyle BackColor="#FFFFCC" ForeColor="#330099" /> 
      <PagerStyle BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" /> 
      <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" /> 
      <HeaderStyle BackColor="#990000" Font-Bold="True" Font-Names="Arial" Font-Size="Small" 
       ForeColor="#FFFFCC" HorizontalAlign="Center" /> 
      <EmptyDataRowStyle BackColor="#804000" Font-Names="Arial" Font-Size="Small" ForeColor="White" /> 
     </asp:GridView> 

請告訴我什麼是可能的錯誤這裏

+0

請任何人回答我的問題 – 2012-01-02 07:25:49

回答

1

入住天氣在現場你想編輯的行的flag的價值,是在EditItemTemplate中

DropDownList的

可用並嘗試在DropDownList中去除AppendDataBoundItems="True" EditItemTemplate

+0

先生我添加實際值Db在Dropdwon現在它工作正常在IIS上,但是當我上傳它在FTP服務器然後它Generat這個錯誤,當我更新網格「操作必須使用可更新的查詢「。我能爲此做些什麼? – 2012-01-03 04:04:22

+0

@ user1099825試試這個http://www.eukhost.com/forums/f15/fix-operation-must-use-updateable-query-error-5635/ – Nalaka526 2012-01-03 04:54:44

+0

從上面的網站:要解決這個問題,請右鍵點擊文件夾其中包含Microsoft Access數據庫並選擇屬性。使用資源管理器中的「安全」選項卡調整此文件夾的屬性,以便Internet來賓帳戶具有正確的可寫入權限。 – Nalaka526 2012-01-03 04:55:23