2012-12-10 59 views
-1

我確信這個問題之前已經被提出並回答過,但是對於我來說,我找不到它。我不確定我需要搜索的關鍵字。我有一個ASP.NET網站,它將SQL Server數據庫中的信息提取到表格和一些圖表中。我還希望它顯示每個圖表正下方的當前值(每隔一分鐘更新一次新數據庫中的步驟行)。我有一個SQL查詢,爲前一小時的特定ID提取所有值,我可以使用該查詢還是需要一個新的查詢來提取最後一個值?那我該如何顯示它?從SQL Server中提取當前值

我的問題:如何在ASP.NET網頁中顯示來自SQL Server數據庫的值?

+0

你的描述不是很清楚。你能提供代碼和數據庫模式嗎? 「我有一個SQL查詢,可以爲前一小時的特定ID抽取所有值。」什麼? – Pete

+0

我用來填充9階段折線圖的前幾小時數據的當前查詢如下:SELECT HookLoad,BlockHeight,BitDepth,ActualWOB,ActualROB,TongTorque,PowerSwivelRPM,PowerSwivelTorque,AirPackTemp,AirPackPressure,AirPackFlow,StandPipe,MPoutput ,HoleDepth,Timestamp FROM tbl_stats WHERE(Rig_ID = 5)AND時間戳> = DATEADD(小時,-1,GETDATE()) – Trido

+0

是您的問題:「如何每分鐘更新一次頁面上的值而不需要用戶刷新頁面?」 – mbeckish

回答

1

有很多方法可以實現這個目標(網上肯定有很多教程)。例如,您可以嘗試使用聲明式方法:

<asp:SqlDataSource ID="SqlDataSource1" ConnectionString="myConnectionString" 
    SelectCommand="SELECT TOP 1 HookLoad, BlockHeight, BitDepth, ActualWOB, ActualROB, TongTorque, PowerSwivelRPM, PowerSwivelTorque, AirPackTemp, AirPackPressure, AirPackFlow, StandPipe, MPoutput, HoleDepth, Timestamp FROM tbl_stats WHERE (Rig_ID = 5) ORDER BY Timestamp DESC" 
    runat="server"></asp:SqlDataSource> 

<asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1"> 
    <ItemTemplate> 
     HookLoad: 
     <asp:Literal ID="HookLoadLiteral" runat="server" Text='<%# Eval("HookLoad") %>'></asp:Literal><br /> 
     .... etc 
    </ItemTemplate> 
</asp:DataList> 

但它取決於您的應用程序的體系結構。您也可以從您的代碼中設置數據源並在其中執行查詢。

+0

種。每個頁面有9個單獨的步驟折線圖,顯示前一小時的所有值。我被要求顯示每個圖表下面的當前值。查詢很簡單,我只是不知道如何在ASP.NET頁面上顯示該值。 – Trido

+0

也許你應該提供一些更多的信息(編輯你的答案)。你有什麼嘗試?你在使用任何種類的ORM映射器嗎?如果不能看看SqlDataReader或SqlDataSource的asp.net控件。 – mipe34