Bonjour je dois faire un projet en C# réalisant des graphiques en temps réel avec une base de donnée.
J'arrive a afficher dans une textbox tous les secondes les valeurs qui sont dans ma base de données (access) grace a un timer mais je n'arrive pas a l'afficher sur mon graphe j'utilise zedgraph.
J'aimerais savoir si c'est possible et comment ca marche .
voici le code qui me permet de récuperer les valeurs dans access:
privatevoid timer1_Tick_1(object sender, EventArgs e){
counter++;
label1.Text = counter.ToString();
int idLigne = counter;//requete à exécuter (ici, nous récupérons les dates et valeurs des mesures de la courbe 5//vous pouvez bien évidemment modifier cette requêtestring requete = "SELECT ID, MESURE, PAS, FC , FR, SPO2 FROM MESURES WHERE ID=" + idLigne;
//création de la connectionOdbcConnection connection = newOdbcConnection();//chaine de connection (du type "DSN=monDSN)string chaineDeConnection = "DSN=baseTest";//affectation de la chaine de connection à la connectionconnection.ConnectionString = chaineDeConnection;
//ouverture de la connectionconnection.Open();
//création du DataSetDataSet data = newDataSet();//création du OdbcDataAdapterOdbcDataAdapter adapter = newOdbcDataAdapter(requete, connection);//remplissage du DataSet avec les résultats de la requêteadapter.Fill(data);
//on déclare maTable comme étant la première table du DataSet (celle qui nous interesse)DataTable maTable = data.Tables[0];//on affiche l'ID de la courbe concernée (\r\n pour sauter une ligne)textBox1.Text +=
"Ligne " + idLigne + "\r\n\r\n";foreach (DataRow row in maTable.Rows){
//et on affiche dans la textBox la date et la valeur de chaque mesure de la courbe
ID = (int)row[0];
MESURE = (double)row[1];PAS = (
double)row[2];FC = (
double)row[3];FR = (
double)row[4];SPO2 = (
double)row[5];Mesure[counter] = MESURE;
Pas[counter] = PAS;
Fc[counter] = FC;
Fr[counter] = FR;
Spo2[counter] = SPO2;
}
Et voici mon code pour affiche sur le graph :
privatevoid CreerGraphique(ZedGraphControl zgc){
// get a reference to the GraphPane
GraphPane myPane = zg1.GraphPane;// Set the Titles
myPane.Title.Text = " Fréquence Cardiaque";
myPane.XAxis.Title.Text = " Temps";
myPane.YAxis.Title.Text = " BPM";
// Make up some random data points PointPairList list1 = newPointPairList();for (counter = 0; counter < 20; counter++){
list1.Add(counter, Mesure[counter]);
}
LineItem Courbe1 = myPane.AddCurve("Freq. Card.", list1, Color.Blue, SymbolType.Diamond);myPane.Chart.Fill =
newFill(Color.BlueViolet, Color.FromArgb(255, 255, 255), 180F);myPane.Fill =
newFill(Color.FromArgb(250, 250, 255));zg1.AxisChange();
}
Merci d'avance