ich durch das Sammeln von Daten aus mehreren Tabellen meiner Business-Objekte of this schicken, zum BeispielMARS vs Nextresult
SELECT * FROM CaDataTable; SELECT * FROM NyDataTable; SELECT * FROM WaDataTable;
und so weiter ... (C# 3.5, SQL Server 2005)
Ich habe mit worden Chargen:
01:void BatchReader()
{
string sql = "Select * From CaDataTable" +
"Select * From NyDataTable" +
"Select * From WaDataTable";
string connectionString = GetConnectionString();
using (SqlConnection conn = new SqlConnection(connectionString)) {
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
using (SqlDataReader reader = cmd.ExecuteReader()) {
do {
while (reader.Read()) {
ReadRecords(reader);
}
} while (reader.NextResult());
}
}
}
ich auch mehrere Befehle gegen die gleiche Verbindung verwendet haben
Ist eine dieser Techniken deutlich besser als die andere? Würde es auch einen Gewinn geben, wenn ich MARS für die zweite Methode verwende? Mit anderen Worten, ist es so einfach, MultipleActiveResultSets = True in der Verbindungszeichenfolge zu setzen und einen großen Vorteil zu erzielen?
Danke, das ist eine großartige Alternative. Gibt es eine Möglichkeit, dies zu programmieren, wenn ich nicht sicher bin, dass jede der Tabellen existiert? Mit anderen Worten, wie kann man sich gegen die Situation verteidigen, in der NyDataTable nicht existiert? – Sisiutl
Ich würde die obige Abfrage dynamisch basierend auf Informationen erstellen, die erhalten werden von: select * from information_schema.tables – RedFilter