2012-10-25 82 views
0

我有訪問數據源加載列表框值。我試圖傳遞一個參數到accessdatasource,但我不知道我做錯了什麼。c#將下拉列表中的選定值傳遞給accessdatasource selectparameter

<asp:DropDownList ID="customerName" runat="server"> 
    <asp:ListItem value="69" Text="Danny"></asp:ListItem> 
    <asp:ListItem value="23" Text="Sarah"></asp:ListItem> 
</asp:DropDownList> 

<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="/App_Data/data.mdb" SelectCommand="SELECT * FROM table WHERE customerID='?'"> 

<selectparameters> 
    <asp:ControlParameter Name="customerID" ControlID="customerName" PropertyName="SelectedValue" /> 
</selectparameters> 

<asp:ListBox ID="lstCustomers" runat="server" AutoPostBack="True" 
     DataSourceID="AccessDataSource1" DataTextField="customerName" 
     DataValueField="customerID" Width="175px" Height="365px" 
      onselectedindexchanged="lstCustomers_SelectedIndexChanged"></asp:ListBox> 

該列表返回爲空......不知道我在做什麼錯了!

+1

您是否需要圍繞參數佔位符的單引號?改爲嘗試'WHERE customerID =?'。 –

+0

這是工作!謝謝 –

回答

0

只是澄清..這是由理查德迪明解決,但沒有答案回答。我會在這裏發佈代碼

它是通過刪除單引號來解決的?參數在SQL中

<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="/App_Data/data.mdb" SelectCommand="SELECT * FROM table WHERE customerID=?"> 
相關問題