Hallo,
ich hab da ein kleines Problem um komm grad nicht weiter. Ich schreibe zur Zeit ein Programm, dass die Gesamtanlageneffektivität auswertet. Das Server-Programm ist jeweils mit den Platinen in den Maschinen verbunden und diese Senden die Daten an den Server, welche dieser in eine Datenbank abspeichert, updated etc.
Mein Problem ist jetzt wie ich das Ganze etwas kompakter Programmieren kann. Jede Platine hat eine ID z.B: P012522. Diese sendet die Platine bei jedem noch so kleinen Datensatz mit, damit der Server am Ende weiss wo er die Daten abspeichern muss.
Also z.B.:
if (dataFromClient2.Contains("P012522 - Standzeit"))
{
watch.Stop();
elapsedTime = String.Format("{0:00}:{1:00}:{2:00}", ts.Hours, ts.Minutes, ts.Seconds);
try
{
string stm_prodStop = "UPDATE p012522 SET Maq_prod= 'Parado' WHERE Date_maq='" + dt.ToString(format) + "' AND Patrimonio=P012522";
MySqlCommand command_prodStop = new MySqlCommand(stm_prodStop, connection);
try
{
command_prodStop.ExecuteNonQuery();
}
catch (Exception ex)
{
Message.Box(ex.Message.toString());
}
}
catch (Exception)
{
}
}
Nun Speichert er diesen Wert in eine bestimmte Reihe er Tabelle und gut is. Das Problem ist es sind mehrere Werte und daurch ist der code schon echt riesig. Das ist jetzt für eine einzige Maschine hier stehen haber 300 Maschinen und das wird mir dann doch zu heftig. Deshalb hatte ich mich gedacht, dass ich mit ne universelle klasse erstelle mit dem Code und die dann jedesmal wenn ein Datensatz kommt aufgerufen wird, aber das Problem ist dann wie der Server die IDs erkennt und dann die richtige Standartklasse aufruft und dann diese ID so zuweist, dass er es in die richtige Reihe der Tabelle packt. Der Server erstellt pro Tag pro Maschine eine Reihe und updated de dann solange bis der Tag vorbei ist, dann macht er ne neue Reihe. Ich koennte die klasse erstellen, aber das löst dann das Problem nicht, dass in der Hauptklasse dann trotzdem immer wiederif (dataFromClient2.Contains("P012522 - Standzeit")), if (dataFromClient2.Contains("P012524 - Standzeit")),if (dataFromClient2.Contains("P012522 - Produktion")) etc. etc. etc. schreiben muss. Kann mir mal einer auf die Sprünge helfen. Mein Kopf ist voll und ich steh aufm Schlauch