2014-03-25 44 views
0

我需要通過say來查看訂單詳細信息;每週,每月訂單通過傳遞兩個日期參數。我嘗試了幾次,但它返回null。通過傳遞兩個日期參數來查詢調度表

這是我到目前爲止的代碼:

SELECT A.Dispatch_ID, 
A.Dispatched_Date, 
A.Product_ID, 
A.Product_Code, 
A.Product_Loaded, 
A.Meter_Ticket_ID, 
A.Marketer_ID, 
A.Dispatched_Truck, 
A.Loaded_Quantity, 
A.Loading_Depot, 
A.Over_Loaded, 
A.Under_Loaded, 
A.User_Name, 
A.Employee_ID, 
B.Dispatched_Date AS Dispatched_Date1 
FROM ((SELECT Dispatch_ID, Format(Dispatched_Date, 'dd/mm/yyyy') AS Dispatched_Date, Product_ID, Product_Code, Product_Loaded, Meter_Ticket_ID, Marketer_ID, Dispatched_Truck, Loaded_Quantity, Loading_Depot, Over_Loaded, Under_Loaded, User_Name, Employee_ID FROM Dispatched_Entry) A 
INNER JOIN (SELECT Dispatch_ID, Format(Dispatched_Date, 'dd/mm/yyyy') AS Dispatched_Date, Product_ID, Product_Code, Product_Loaded, Meter_Ticket_ID, Marketer_ID, Dispatched_Truck, Loaded_Quantity, Loading_Depot, Over_Loaded, Under_Loaded, User_Name, Employee_ID FROM Dispatched_Entry Dispatched_Entry_1)B ON A.Product_ID = B.Product_ID) 
WHERE A.Dispatched_Date =? AND B.Dispatched_Date =? 

任何幫助將不勝感激。

回答

0

如果要通過SqlCommand實例將參數傳遞到SQL查詢中,請使用命名參數。下面是在C#中最原始的例子:

var query = @"SELECT A.Dispatch_ID, 
       ... 
       WHERE A.Dispatched_Date = @dateA AND B.Dispatched_Date = @dateB"; 
var connection = new SqlConnection(connectionString); 
var command = new SqlCommand(query, connection); 
command.Parameters.AddWithValue("@dateA", someDateA); 
command.Parameters.AddWithValue("@dateB", someDateB); 

上有MSDN進一步的例子。


要配置直接SqlDataSource在ASP.NET中,類似這樣的:

<asp:dropdownlist 
    id="DropDownListA" 
    runat="server" 
    autopostback="True"> 
    ... 
</asp:dropdownlist> 

<asp:dropdownlist 
    id="DropDownListB" 
    runat="server" 
    autopostback="True"> 
    ... 
</asp:dropdownlist> 

<asp:sqldatasource 
    id="SqlDataSource1" 
    runat="server" 
    connectionstring="<%$ ConnectionStrings:MyConnectionString %>" 
    selectcommand="SELECT A.Dispatch_ID, 
        ... 
        WHERE A.Dispatched_Date = @dateA AND B.Dispatched_Date = @dateB"> 
    <selectparameters> 
     <asp:controlparameter name="dateA" controlid="DropDownListA" propertyname="SelectedValue"/> 
     <asp:controlparameter name="dateB" controlid="DropDownListB" propertyname="SelectedValue"/> 
    </selectparameters> 
</asp:sqldatasource> 

更多信息,請MSDN找到。

+0

感謝您的迅速響應。我正在使用一個SQL數據源,所有我試圖實現的是能夠使用兩個下拉列表根據查詢參數選擇不同的日期。 – user3036566

+0

@ user3036566查看我更新後的答案 –

+0

我已經試過實現這個,但它仍然是空白。 – user3036566

相關問題