private void seekSql()
{
SqlConnection con = new SqlConnection();
con.ConnectionString = "server =.; database = test; integrated security = SSPI";
try
{
con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
//查詢資料
cmd.CommandText = "select top(500) humidity,datex from sht102 where which = 2 and datex>'2021-2-1' order by datex ";
SqlDataReader dr = cmd.ExecuteReader();
//新建兩個串列來存放我們要畫圖的資料,因為chart接收的資料是List
List<float> humidity = new List<float>();
List<DateTime> numList = new List<DateTime>();
string str = "";
while (dr.Read())
{
//要注意,在資料庫中得到的id的資料型別是System.Integer,
//num資料型別是System.Double,但是在某些列中,num是空值,所以在進行操作前
//要判斷是否為空
if (dr[1] is DBNull)
{ }
else
{
DateTime tempdata = (DateTime)dr[1];
str = tempdata.ToString("yyyy-MM-dd HH:mm:ss");
//numList.Add((DateTime)tempdata);
numList.Add(DateTime.Parse(str));
}
humidity.Add((float)dr[0]);
}
//畫圖的函式
drawLines( humidity, numList);
dr.Close();//關閉執行
}
catch (Exception)
{
Console.WriteLine("連接例外");
throw;
}
finally
{
con.Close();
}
}
private void drawLines(List<float> list1, List<DateTime> list2)
{
List<float> xData = list1;
List<DateTime> yData = list2;
//chart1.ChartAreas[0].AxisX.LabelStyle.Format = "HH:mm:ss";
//線條顏色
chart1.Series[0].Color = Color.DeepSkyBlue;
//線條粗細
chart1.Series[0].BorderWidth = 1;
//標記點中心顏色
chart1.Series[0].MarkerColor = Color.DeepSkyBlue;
//標記點大小
chart1.Series[0].MarkerSize = 5;
//標記點型別
chart1.Series[0].MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle.Circle;
//系結資料
chart1.ChartAreas["ChartArea1"].AxisX.LabelStyle.Format = "yyyy-MM-dd-HH:mm:ss";
chart1.Series[0].Points.DataBindXY(yData, xData);
}
private void button1_Click(object sender, EventArgs e)
{
seekSql();
}

X軸不顯示時間直接顯示了yyyy-MM-dd-HH:mm:ss
uj5u.com熱心網友回復:
如果不寫 chart1.ChartAreas["ChartArea1"].AxisX.LabelStyle.Format是什么效果呢?
應該能正常讀取出來吧?
或者試試 "{0:D}" 這種呢?
uj5u.com熱心網友回復:
chart1.ChartAreas[0].AxisX.LableStyle.Format = "yyyy-MM-dd-HH:mm:ss" 也是一樣, 沒有搞懂, 對chart 不太了解, 從sql里獲取的時間在轉換程序是否有問題,下面是資料庫讀出來的效果
uj5u.com熱心網友回復:
我試一下
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/264010.html
標籤:C#
上一篇:mdb檔案里有t1、t2、t3三個資料表,同時查詢加入一個DateSet
下一篇:求助,關于檔案夾權限設定失敗
