Laden...

DBProviderFactory und DB Parameter - Collection

Erstellt von kat_2403 vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.605 Views
K
kat_2403 Themenstarter:in
236 Beiträge seit 2007
vor 16 Jahren
DBProviderFactory und DB Parameter - Collection

verwendetes Datenbanksystem: <MSSQL2005 Express>

Hallo zusammen.
ich wollte mir eine providerunabh. Datenzugriffskomponente schreiben, die mir
die Daten in Form von DataTables liefert.
Eine Methode:


public DataTable ExecuteReaderToDataTable(string connectionString, string commandText, CommandType commandType, DbParameter[] parameterCollection)
{}

Der Parameter: DBParameter [] parameterCollection wird dann durchlaufen, und an das CommandObjekt gebunden:


        private void AddParameterCollectionToCommand(IDbCommand command, DbParameter[] parameterCollection)
        {
            if (parameterCollection != null)
            {
                for (int i = 0; i < parameterCollection.Length; i++)
                {
                    command.Parameters.Add(parameterCollection[i]);
                }
            }
        }

Meine Frage:
Wie initialisiere ich denn die Collection beim Aufruf der Methode: ExecuteReaderToDataTable, wenn z.B. die SP, die ich aufrufe den Parameter @filter hat?

Danke für jeden Tipp.
Katja

1.274 Beiträge seit 2005
vor 16 Jahren

Hallo,

schreib dir eine Factory die dir deine Objekte erzeugt.

Sowas gibt es sogar schon von Microsoft fertig. Microsoft Data Access Application Block, oder so ähnlich. Im hand-on findest du wie sowas geht.

Würde ich dir generell ans Herz legen wenn du Anwendungen schreibst, die mehrere Datenbanksysteme verwenden.

Lg
LastGentleman

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

K
kat_2403 Themenstarter:in
236 Beiträge seit 2007
vor 16 Jahren

Das ist aber hier glaub ich nicht mein Problem. Ich bin jetzt darüber gestolpert, und wollte das selbst ausprobieren, nur interessehalber. Und nun wurschtel ich eben an der Initialisierung der Parametercollection rum, und komm net weiter.
Hätt ich mit einem IDictionary gearbeitet, a la:


IDictionary<string, object> parameters = new Dictionary<string,object>();
parameters.Add("@filter", filter);

wüsst ich, wies geht. Mich interessiert aber jetzt die Zuweisung zur DBParamter-Collection.
Aber danke für den Tipp, bin ich auch schon darauf aufmerksam geworden.
Katja