Welche Methode ist effizienter zu verwenden: DataAdapter und DataSet oder DataReader beim Importieren von Daten aus einer bestimmten Datenbanktabelle ???Wie erstellt man Windows-Anwendungen in VB.Net oder ASP.Net
Antwort
Ich würde nur wählen, welche Sie am besten gefällt, und entscheiden, zu optimieren, sobald Sie einen Engpass in der Verwendung des einen oder anderen finden. Wenn Sie gerade an der Stelle sind, eine neue App zu planen, ist es sinnvoller, mit OK-Leistung zu arbeiten, als sich zu verirren und den "besten" Ansatz zu wählen.
Im Hintergrund verwendet der DataAdapter den DataReader, um die Daten tatsächlich abzufragen und das Dataset/Dataset aufzufüllen. Am Ende des Tages spielt es keine Rolle, welchen Sie verwenden, aber ich würde den DataAdapter empfehlen, da er einfacher zu codieren ist und weniger fehleranfällig ist.
Ein DataReader ist "effizienter" als ein DataAdapter, hat aber Einschränkungen. Es ist wahrscheinlich das Beste für Ihr Problem, aber ohne weitere Details ist es schwer zu sagen.
Und wie John sagt, eine funktionierende Lösung zu bekommen, könnte Ihre erste Priorität sein.
Ein Datenlesegerät liest die Daten in einer progressiven Weise, so dass Sie mit einer Reihe gleichzeitig umgehen können. Es ist schnell und leicht, aber hauptsächlich nur vorwärts.
Ein Datenadapter und Dataset, verwenden Sie tatsächlich den DataReader, um die Daten zu erhalten und speichert das Ergebnis im Speicher füllt die Tabelle dauert länger, aber den Zugriff und die Aktualisierung danach ist viel schneller, bis Sie die Daten wieder auf die DB.
Verwenden Sie einen Datenreader, wenn Geschwindigkeit Ihre Sache ist, verwenden Sie andernfalls einen Datensatz, da es viel besser lesbar und überschaubar ist.
Anwendungsfall ist hier wichtig. Wie werden Sie die Daten verwenden, sobald sie in Ihre Anwendung gemarshallt sind?
Wenn Sie nur durchlaufen müssen, hat ein DataReader den geringsten Speicheraufwand für Ihre gelisteten Technologien.
DataAdapter bietet mehr Funktionen im Austausch für mehr Speicher und wird speziell den Overhead von DataTable einbeziehen. Dies ist im Austausch für eine bequemere API.
DataSet ist am schwersten (bevor Sie zu typisierten Datasets kommen), bietet aber die Möglichkeit, In-Memory-Beziehungen zwischen DataRows zu erhalten.
Es gibt eine Reihe von Funktionen im Vergleich zu Kosten in Bezug auf Speicher- und Programmierungseffizienz - Speicher ist in vielen Anwendungsfällen relativ billig, und Programmiererzeit und Wartbarkeit von Code können auf lange Sicht wichtiger sein.
Da es klingt wie Sie nach Programm-Effizienz suchen. Ich würde mich zu einer Business-Objekt-Klasse neigen, die einen Datenleser als Zugriffsmethode verwendet. Das würde Ihnen die Möglichkeit geben, wartbaren Code zu erstellen und Ihnen Geschwindigkeit zu geben.
Sie könnten ein Objekt mit einer Methode erstellen, die wie im folgenden Beispiel durch einen DataReader iteriert. Dies gibt Ihnen die Geschwindigkeit und meiner Meinung nach ist es recht wartungsfreundlich. Dies ist wahrscheinlich genau das, was ein Typ-DataSet Ihnen bietet, nur ohne mehr Codezeilen, um die Funktionalität, die für das Abrufen von Daten benötigt wird, zu verallgemeinern.
etwas wie folgt aus:
public class Table1
{
public int Col1 { get; set; }
public String Col2 { get; set; }
public List<Table1> GetTable1()
{
List<Table1> tableContents = new List<Table1>();
SqlCommand cmd = new SqlCommand("SELECT * FROM Table1");
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
tableContents.Add(new Table1
{
Col1 = (int)rdr["Col1"],
Col2 = (string)rdr["Col2"]
});
}
return tableContents;
}
}
Es gibt viele Möglichkeiten, es zu tun, hoffen, dass diese
In diesem Beispiel wird C# verwendet. Dachte, ich würde das für zukünftige Referenz darauf hinweisen, wenn neuere Programmierer diese Frage sehen und verwirrt werden. – Cameron
- 1. Wie erstellt man mobile Anwendung in asp.net
- 2. Wie erstellt man StackedColumn-Diagramme in ASP.NET?
- 3. wie Webformular in vb.net mit (asp.net)
- 4. VB.NET 2008: Wie erstellt man ein neues Sub oder Funktion in Code?
- 5. Wie erstellt man Etiketten für asp.net chart?
- 6. Wie erstellt man Bilder Link in ASP.NET MVC?
- 7. Wie erstellt man einen Einkaufswagen mit MVC in asp.net?
- 8. Wie erstellt oder manipuliert man GPU-Assembler?
- 9. Wie erstellt man verschiedene Benutzertypen in ASP.NET Identity?
- 10. Wie erstellt man Rolle und Benutzer in der ASP.Net-Identität?
- 11. asp.net Zeilenanzahl VB.NET
- 12. Wie erstellt man Themen und Haut in asp.net mvc?
- 13. Wie erstellt man css Radio-Button in asp.net?
- 14. Wie erstellt man benutzerdefinierte Header in ASP.NET Gridview?
- 15. Wie erstellt man ASP.Net Identity-Tabellen in einer bestehenden Datenbank?
- 16. Wie erstellt man eine Dropdown-Liste in ASP.NET MVC3?
- 17. Wie erstellt man JSON-Webservice in ASP.NET mit Datenbankkonnektivität?
- 18. Wie erstellt man ein paar Radioboxen in ASP.NET MVC?
- 19. Wie erstellt man thead und tbody in ASP.NET Table?
- 20. Wie erstellt man ein virtuelles Verzeichnis in IIS7 für ASP.NET?
- 21. Wie erstellt man ein benutzerdefiniertes Attribut in ASP.NET MVC5?
- 22. Wie man ein Formular in VB.Net anlegt
- 23. Wie erstellt man einen Browser in asp.net 2010 ASPX-Seite kein Formular
- 24. Wie erstellt man eine Unterklasse in C#?
- 25. Wie erstellt man eine echte XLS-Datei auf asp.net C#?
- 26. Wie erstellt man eine Modul-Basisanwendung mit ASP.NET MVC?
- 27. Wie erstellt man eine mobile Version einer ASP.NET-Website?
- 28. Wie erstellt man einen shared_lock oder upgrade_lock in C++ 11?
- 29. Wie erstellt oder schreibt man eine Textdatei in einem Servlet?
- 30. Wie erstellt man Facebook oder Instagram Tabbed-Layout in Android
Hinzugefügt Tags hilft so gut wie nichts mit Antwort – stevehipwell
Fragetitel zu helfen, beschleunigen mit Frage selbst zu tun? –
@nour kaakour serially ... Fragen Sie, wie Sie Windows-Anwendungen erstellen, ASP.net-Anwendungen erstellen oder eine ADO.NET-Performance-Frage ... –