2013-08-22 20 views
0

確實我用一個查詢字符串參數返回,然後在下面的代碼使用的值:查詢似乎不返回行,但在訪問

<asp:AccessDataSource ID="AccessDataSource2" runat="server" 
    DataFile="~/App_Data/TravelJoansDB.accdb" 
    SelectCommand="SELECT * FROM [PeoplePhotos] WHERE ID = @ID"> 
    <SelectParameters> 
     <asp:QueryStringParameter Name="ID" QueryStringField="ID" />      
    </SelectParameters> 
    </asp:AccessDataSource> 
    <table class="picPageStyle"> 
     <tr> 
      <td> 
       <asp:Image ID="Image1" runat="server" BorderWidth="1px" ImageUrl='<%# "PlaceImages/" + Eval("picPath") %>' /> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <asp:Label ID="Label1" runat="server" Text='<%# Eval("picDesc") %>' /> 
      </td> 
     </tr> 
    </table> 

查詢很容易返回一行,當我替補在Access中的「@ID」的值,它似乎(但似乎我錯了),它返回的值,因爲使用此代碼的頁面的地址顯示正確的ID,即「picpage.aspx?ID = 4「我錯過了什麼?它是否與查詢字符串參數?

+0

更改名稱=「ID」爲名稱=「@ ID」 –

+0

@RameshRajendran我試圖將@符號放在幾個不同的位置,無濟於事。 – Joseph

+0

看到我的答案。 –

回答

1

您必須到位表到一個FormView:

<asp:FormView ID="FormView1" runat="server" DataSourceID="AccessDataSource2"> 
    <ItemTemplate> 
     <table class="picPageStyle"> 
     <tr> 
      <td> 
       <asp:Image ID="Image1" runat="server" BorderWidth="1px" ImageUrl='<%# "PlaceImages/" + Eval("picPath") %>' /> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <asp:Label ID="Label1" runat="server" Text='<%# Eval("picDesc") %>' /> 
      </td> 
     </tr> 
    </table> 
    </ItemTemplate> 
</asp:FormView> 
-1

我不知道適當的解決方案。

但你可以試試這種方式。

SelectCommand="SELECT * FROM [PeoplePhotos] WHERE ID =" + <%= Request.QueryString["ID"] %>> 

不需要asp:QueryStringParameter Name="ID" QueryStringField="ID" />

更新

複製和過去的這個代碼,然後檢查

<asp:AccessDataSource ID="AccessDataSource2" runat="server" 
     DataFile="~/App_Data/TravelJoansDB.accdb" 
     SelectCommand="SELECT * FROM [PeoplePhotos] WHERE ID =" + <%= Request.QueryString["ID"] %>> 
     <SelectParameters> 
      <asp:QueryStringParameter Name="ID" QueryStringField="ID" />      
     </SelectParameters> 
     </asp:AccessDataSource> 
     <table class="picPageStyle"> 
      <tr> 
       <td> 
        <asp:Image ID="Image1" runat="server" BorderWidth="1px" ImageUrl='<%# "PlaceImages/" + Eval("picPath") %>' /> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <asp:Label ID="Label1" runat="server" Text='<%# Eval("picDesc") %>' /> 
       </td> 
      </tr> 
     </table> 
+0

我似乎無法讓它停止告訴我,我需要適當的引號...... – Joseph

+0

呃?所以正確的語法是SelectCommand =「SELECT * FROM [PeoplePhotos] WHERE ID =」+ <%= Request.QueryString ['「〜/ picpage.aspx?ID =」4']%> +「>」 ?? ?? – Joseph

+0

原諒我,我在這是一個新手... – Joseph