1. 程式人生 > >c# 從本地資料庫獲取資料並以圖表顯示

c# 從本地資料庫獲取資料並以圖表顯示

一. 本地mysql資料庫

我的本地資料庫設計是這樣的

資料庫伺服器名稱: restful_api

使用表: location

username: root

password: root

後面資料庫連線部分請自行根據自己資料更改

二. 實現過程

資料模板基類:

這個類就是用於get和set操作. 對應資料格式要與資料庫的欄位資料格式一致.

(類似java的模型層)

class LocationData
        {
            private string _time;

            public string Time
            {
                get { return _time; }
                set { _time = value; }
            }
            private decimal _id;

            public decimal Id
            {
                get { return _id; }
                set { _id = value; }
            }

            private decimal _value;

            public decimal Value
            {
                get { return _value; }
                set { _value = value; }
            }
        }

資料庫連線類:

這個類用於與本地mysql資料庫建立連線, 這個類不清楚或不太理解的小夥伴要仔細理解每一段程式碼的含義

由於要用到MySqlConnection等mysql連線的類, 所以先把專案應用mysql安裝目錄下的Mysql.Data.dll.


List<CarData> list = null;
string ConString = "server=localhost;User Id=root;password=root;Database=restful_api;SslMode = none;";
MySqlConnection conn = new MySqlConnection(ConString);//連線資料庫
ConString是提交資料庫路徑, 賬號密碼的, 有一點需要特別注意, SslMode=none; 如果不加這個的話就會編譯失敗, 因為資料庫不允許ssl連線.
MySqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "select * from location";//從表裡選擇資料,待會取前五個
MySqlDataReader dr = cmd.ExecuteReader();

MySqlCommand類是mysql資料庫命令類, 這裡使用的資料庫操作是獲取資料庫location表中的所有資料.

ps: 由於mysql資料庫版本不同, 它的語法也有一些不同, 如果發現錯誤, 請根據自己的資料庫版本寫正確的語句.

MySqlDataReader dr = cmd.ExecuteReader();
從資料庫讀入資料, 接下來就是要辦資料取出來放入之前的locationdata模板中.
class LocationDA
        {
            public List<LocationData> select()
            {
                List<LocationData> list = null;
                string ConString = "server=localhost;User Id=root;password=root;Database=restful_api;SslMode = none;";
                MySqlConnection conn = new MySqlConnection(ConString);//連線資料庫  
                try
                {
                    conn.Open();//開啟通道,建立連線,可能出現異常,使用try catch語句
                    Console.WriteLine("已經建立連線");
                    //在這裡使用程式碼對資料庫進行增刪查改
                }
                catch (MySqlException ex)
                {

                    Console.WriteLine("建立連線失敗!");
                    Console.WriteLine(ex.Message);
                }
                //SqlCommand cmd = conn.CreateCommand();
                MySqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = "select * from location";//從表裡選擇資料,待會取前五個
                MySqlDataReader dr = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    list = new List<CarData>();
                    while (dr.Read())
                    {
                        LocationData data = new LocationData();
                        data = new LocationData();
                        data.Time = dr["time"].ToString();
                        data.Id = (int)dr["id"];
                        data.Value = (int)dr["value"];
                        list.Add(data);
                    }
                }
                return list;
                cmd.Dispose();
                conn.Close();
            }
        }

初始化操作

為了能夠讓程式啟動就顯示圖示, 我們還要在Form1中加一些初始化操作

當然這裡預設是柱狀圖, 如果想要折線圖, 在chart控制元件的屬性裡更改就OK了

        //一些初始化操作
        public Form1()
        {
            InitializeComponent();
            //setChart();    //chart1
            List<CarData> list = new CarDA().select();
            if (list != null)
            {
                chart2.DataSource = list;
                chart2.Series["Series1"].XValueMember = "id";
                chart2.Series["Series1"].YValueMembers = "value";
            }
        }

三. 顯示結果


相關推薦

c# 本地資料庫獲取資料圖表顯示

一. 本地mysql資料庫我的本地資料庫設計是這樣的資料庫伺服器名稱: restful_api使用表: locationusername: rootpassword: root後面資料庫連線部分請自行根據自己資料更改二. 實現過程資料模板基類:這個類就是用於get和set操作

C# Oracle資料庫獲取資料在combobox進行顯示

折騰了半天,其實比較簡單,程式碼如下,其中需要先新增引用 using System.Data.OracleClient; private void select() { string con

是用JDBC資料庫獲取資料java物件返回

/** * * @param c * for example Person.class * @param primaryKeys * primaryKeys為主鍵,引數順序和表中保持一致 如果id, name

日誌中心獲取資料進行處理和預警

package com.ccservice.train.app.Reptile_mobile_warning.task; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; imp

ECharts餅圖後臺動態獲取資料展示

$.post( url, {'id' : gridStationSeq  },function(result) {if (result != null) {var label=[];var data = JSON.parse(result);var arr=[];alert

動態資料庫獲取資料實時插入圖表

1.實現效果圖 2.jsp檔案 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="f

jQuery與Ajax小練習-二級聯動(Oracle資料庫獲取資料

之前做了個簡單的二級聯動小練習,這次算是加強版的吧,希望能對大家有點用處。 //主頁面 <html> <head> <meta charset="UTF-8"> <title>Insert titl

C#sqlserver中獲取資料的方法

使用sqlCommand 建立一個連線的命令 再向其中的CommandText中賦值要進行了操作語句指令碼 用SqlDataAdapter獲取返回值,並將其複製到一個datatable中 從dat

c#設定本地圖片為背景圖片設定顯示方式

button2.BackgroundImage = Image.FromFile("c:\\pic\\" + filePath);//在所需控制元件中顯示圖片 button2.BackgroundImageLayout

[C#] 資料庫讀取資料輸出

連線資料庫,並從資料庫中讀取資料後並輸出! using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient

python專案篇-資料庫獲取資料Json格式返回前端資料視覺化方式顯示

views.py: def adminEchartIncome(request): ret = models.incomeAccount.objects.all().order_by("dayIncome","id") # ret = serialize("json

Django小專案--待辦清單(四)(表單中獲取資料存入資料庫

首先進入主頁(要記得先進入虛擬環境並且通過python  mange.py runserver啟動本地伺服器),我們知道主頁匹配的網址是localhost:8000/todo/home,在瀏覽器上輸入並回車。 在頁面的右上角有一個新增待辦事項的按鈕,輸入內容並點選新

資料庫查詢資料輸出到前臺頁面

<?php        //獲取資料庫中的所有留言           require_once("connect.php");   &nbs

省級聯動資料庫獲取資料

主要就是前臺js程式碼,後臺就是根據id直接查詢的 html程式碼 <select style="width:130px" name="provinceCode" id="province"> <option value="0">--請選擇--<

表格中獲取資料在排序後按順序重新排列表格(Javascript)

數字排序出現問題 升序結果出現了一個大的數字反而在小數字的後面 function mySort(arr){ for(var x=0;x<arr.length-1;x++){ for(var y=x+1;y<arr.l

PullToRefersh、網路獲取資料新增到adapter和資料庫 然後顯示、無網路時資料庫獲取資料新增到另一個adapter 然後顯示

package liyuanqi.bwie.com.pulltorrfresh; import android.content.Context; import android.net.ConnectivityManager; import android.net

關於實現接收base64圖片資料圖片儲存到本地的處理

public function saveBase64File($img,$name=''){ $base_img = str_replace('data:image/jpeg;base64,','', $img); // 設定檔案路

Echart實現資料庫獲取資料展示圖表(結合Servlet和SSM實現的兩種例項)

        2018年5月30日(UPDATE): Google郵箱不怎麼上,建議Email [email protected]------------------------------

easyui combobox下拉框省市縣三級聯動(資料庫獲取資料)

//combobox的onLoadSuccess,onChange,onSelect事件    省:<input id="province" style="width: 110px;" /> 市:<input id="city" style="width

Http Get 伺服器中獲取資料 儲存到本地

package com.http.get; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConn