2017-07-21 29 views
1

我有一個圖表在ASP.NET網頁表單頁面。我想用一個自定義的查詢來填充它,通過連接來自同一個sql表格的兩個變量創建。asp.net圖表從aspx.cs文件讀取與自定義查詢從sql服務器

下面是代碼(查詢):

String year2 = Convert.ToString(dropDownStartYear.Text); 
String month2 = Convert.ToString(dropDownMonth2.Text); 
String day2 = Convert.ToString(dropDownDay2.Text); 
String hour2 = Convert.ToString(dropDownHour2.Text); 
String minute2 = Convert.ToString(dropDownMinute2.Text); 

String year3 = Convert.ToString(dropdownYear3.Text); 
String month3 = Convert.ToString(dropDownMonth3.Text); 
String day3 = Convert.ToString(dropDownDay3.Text); 
String hour3 = Convert.ToString(dropDownHour3.Text); 
String minute3 = Convert.ToString(dropDownMinute3.Text); 

SqlConnection connection = ConnectionManager.getConnection(); 
SqlCommand cmd = new SqlCommand(); 
cmd.Connection = connection; 
cmd.CommandText = "SELECT id, temperature, year, month, day , hour, minu from datab where year = @year and month=[email protected] and [email protected] and [email protected] and [email protected] ; "; 
cmd.Parameters.AddWithValue("@year", year2); 
cmd.Parameters.AddWithValue("@month", month2); 
cmd.Parameters.AddWithValue("@day", day2); 
cmd.Parameters.AddWithValue("@hour", hour2); 
cmd.Parameters.AddWithValue("@minute", minute2); 

SqlDataReader reader = cmd.ExecuteReader(); 

while (reader.Read()) 
{ 

} 

在這裏我想從一個表中的SQL Server選擇的開始日期和時間(年,月,日,小時,分鐘),還可以選擇一個結束日期與相同的變量。 然後我想繪製從開始時間到結束時間變化的「溫度」。

有幫助嗎?

+0

那麼,是什麼或者不這樣做? – CodeCaster

+0

我在哪裏把代碼做顯示圖表 –

+0

這似乎是兩個單獨的問題。下面的答案建立查詢的地址。您是否在.aspx頁面上控制了您的圖表? – Poosh

回答

1

請嘗試此查詢,建立DateTime對象從日期部分輸入並存儲在您的表中。這應該由選定的輸入值,使其更容易比較和限制您的返回值:

cmd.CommandText = @"select [id], [temperature], [year], [month], [day], [hour], [minu] 
from datab 
where DATETIMEFROMPARTS([year], [month], [day], [hour], [minu], 0, 0) 
between DATETIMEFROMPARTS(@year2, @month2, @day2, @hour2, @minute2, 0, 0) 
and DATETIMEFROMPARTS(@year3, @month3, @day3, @hour3, @minute3, 0, 0)"; 

// beginning of date range 
cmd.Parameters.AddWithValue("@year2", year2); 
cmd.Parameters.AddWithValue("@month2", month2); 
cmd.Parameters.AddWithValue("@day2", day2); 
cmd.Parameters.AddWithValue("@hour2", hour2); 
cmd.Parameters.AddWithValue("@minute2", minute2); 

// end of date range 
cmd.Parameters.AddWithValue("@year3", year3); 
cmd.Parameters.AddWithValue("@month3", month3); 
cmd.Parameters.AddWithValue("@day3", day3); 
cmd.Parameters.AddWithValue("@hour3", hour3); 
cmd.Parameters.AddWithValue("@minute3", minute3); 
0

嘗試此查詢...

cmd.CommandText = "SELECT id, temperature, year, month, day , hour, minu from datab 
where CONVERT (datetime , cast(year as varchar)+'-'+cast(month as varchar)+'-'+cast(day as varchar)+' '+cast(hour as varchar)+':'+cast(minute as varchar)+':'+'00' , 20) >= CONVERT (datetime , @yearfrom+'-'[email protected]+'-'[email protected]+' '[email protected]+':'[email protected]+':'+'00' , 20) 
and CONVERT (datetime , cast(year as varchar)+'-'+cast(month as varchar)+'-'+cast(day as varchar)+' '+cast(hour as varchar)+':'+cast(minute as varchar)+':'+'00' , 20) <= CONVERT (datetime , @yearTo+'-'[email protected]+'-'[email protected]+' '[email protected]+':'[email protected]+':'+'00' , 20);"; 
+0

我把它放在哪裏? –

+0

您可以使用Poosh建議的代碼作爲代碼 –

+0

中的簡短答案,以便我在哪裏準確地放置它? –