2012-03-28 16 views
1

Ist es möglich, die Befehle SELECT, UPDATE, DELETE und INSERT eines Table Adapters zur Laufzeit zu ändern? Ich möchte die Befehle für den TableAdapter basierend auf dem Verbindungstyp (SQL Server oder Access) festlegen, den der Benutzer beim Öffnen der Anwendung auswählt.Ändern von TableAdapter-Befehlen zur Laufzeit

Grundsätzlich möchte ich, dass die Tabellendateinamen gleich bleiben, also muss ich nicht, wenn Anweisungen überall ich tableadapter.fill oder update-Methoden aufrufen. Stattdessen möchte ich eine if-Anweisung einfügen, nachdem die Verbindungszeichenfolge ausgewählt wurde, und die Befehle SELECT, UPDATE, DELETE und INSERT basierend auf den vom Benutzer ausgewählten Befehlen ändern. So etwas wie unten

If ConnectionString = Access Then 
    tableadapter.selectcommand="SELECT...FROM AccessDbase" 
Else 
    tableadapter.selectcommand="SELECT...FROM SQLDbase" 
End if 

Was ist der beste Weg, dies zu tun, ohne zwei separate Anwendungen zu erstellen, die (eine verbinden und für SQL Server auf den Zugriff auf)?

Vielen Dank im Voraus.

Antwort

-1

Sie wählen Einsatz o Update-Befehl, indem Sie Adapter ändern können commands.commandtexts

If ConnectionString = Access Then 
    tableadapter.SelectCommand.CommandText = "SELECT...FROM AccessDbase" 
    tableadapter.InsertCommand.CommandText = "INSERT INTO AccessDbase..." 
    tableadapter.UpdateCommand.CommandText = "UPDATE AccessDbase SET ..." 
    tableadapter.DeleteCommand.CommandText = "DELETE FROM AccessDbase WHERE ..." 
Else 
    tableadapter.SelectCommand.CommandText = "SELECT...FROM SQLDbase" 
    tableadapter.InsertCommand.CommandText = "INSERT INTO SQLDbase..." 
    tableadapter.UpdateCommand.CommandText = "UPDATE SQLDbase SET ..." 
    tableadapter.DeleteCommand.CommandText = "DELETE FROM SQLDbase WHERE ..." 
End if 
Verwandte Themen