Ich bin neu in C# zu Codierung, sind die meisten meiner Erfahrung in plain old C.Lese von mehreren ähnlichen unbekannten Datenbanken
Ich versuche, eine Anwendung in C# zu codieren, die Informationen von einem der vielen Access-nachschlägt Datenbanken. Jede Datenbank ist insofern ähnlich, als sie dieselben Tabellen (die für die Datenbank selbst geeignet sind) (PIC, PICenum usw.) haben. Die gleiche Tabelle in jeder Datenbank enthält dieselben Feldnamen (LnetVar, Description usw.). Jede Datenbank bezieht sich auf einen anderen Datensatz, der sich von den anderen Datenbanken unterscheidet. Aus diesem Grund habe ich mehrere Datenbanken statt einer umfassenden Datenbank. Es macht es auch viel einfacher.
Ich habe derzeit Code, der auf eine bestimmte Datenbank zugreifen und die Daten abrufen kann, die ich an anderer Stelle im Code benötige.
class DB_Handler
{
lsftTestDataSet.PICDataTable ds;
public DB_Handler(lsftTestDataSet.PICDataTable ds)
{
this.ds = ds;
}
public string GetDescription(byte lnetVar)
{
foreach (lsftTestDataSet.PICRow currentRow in ds)
{
if (currentRow.LnetVar == lnetVar)
{
return currentRow.Description;
}
}
return "";
}
}
Ich möchte nicht den alten Copy-Paste-Modify-Trick machen, so dass er mit jeder Datenbank interagieren kann. Ich möchte vielmehr eine einzelne Funktion aufrufen, die die zu verwendende Datenbank sowie die relevanten Datensatz- und Feldinformationen sendet. Von diesem durchsucht es die Datenbank und gibt die gespeicherten Daten zurück.
Ich fand eine ähnliche Frage here, aber es war auf die Optimierung konzentriert, nicht auf es tatsächlich zu tun. Ich war auch nicht in der Lage, dem Code-Snippet zu folgen, das gegeben wurde, um es zu ändern, um mit meinem Code zu verwenden.
Jede Hilfe, die Sie mir geben können, würde sehr geschätzt werden!
'Copy-Paste-Modify kludge' ftfy – mellamokb
Dataset Pass auf den Konstruktor wahrscheinlich nicht eine richtige Sache in einer Klasse zu tun, die für DB-Zugriff verantwortlich ist. Eine Funktion in dieser Klasse sollte nur den Wert des Primärschlüssels als Parameter übernehmen und ein datensatzbasiertes Ergebnis zurückgeben, das von der Datenbank zurückgegeben wird. –