Insert-, Update- und Delete Command mit Provider Factories?

ballistic

Grünschnabel
Hi,

ich versuche gerade eine Anwendung in VB 2005 mit Hilfe der Provider Factories zu entwerfen.

Dabei muss ich die DB-Commands jedoch leider selbst erstellen, da einige Spalten vom System, nicht vom Benutzer gefüllt werden.

Nun fehlt mir nur die Syntax, wie ich das providerneutral programmiere.

Kurzum, ich brauche die providerneutrale Version dieses Beispiels: (OLEDB)

Code:
Dim updSql As String = "UPDATE Table SET Bezeichnung = @p1 WHERE uID = @p2"
Dim updCmd As New OleDbCommand(updSql, connection)

updCmd.Parameters.Add("@p1, OleDBType.VarChar, 50, "Bezeichnung")

Dim p2 As OleDbParameter = updCmd.Parameters.Add("@p2", OleDbType.Int)
p2.SourceColumn = "uID"
p2.SourceVersion = DataRowsVersion.Original
da.UpdateCommand = updCmd

Würde mich sehr über Hilfe freuen! :)
 
Mehr oder weniger zufällig hab ich eine Lösung gefunden:

Code:
            Dim updCmd As DbCommand = conn.CreateCommand()
            updCmd.CommandText = updStr
            updCmd.CommandType = CommandType.Text

            Dim p1_Anl As DbParameter = updCmd.CreateParameter()
            p1.ParameterName = "@p1"
            p1.DbType = DbType.AnsiString
            p1.SourceColumn = "Bezeichnung"
            p1.SourceVersion = DataRowVersion.Current
            updCmd.Parameters.Add(p1)

Der Parametername muss zwar noch flexibel je nach DBMS angepasst werden, aber ansonsten funktioniert es.

Leider habe ich damit aber mein Ziel, Werte für nicht sichtbare Zellen zu hinterlegen, nicht erreicht. Schon die DataTable prüft die NOT NULL Einschränkung. Aber dafür erstelle ich glaub ich ein neues Thema :confused:

Grüße,
Martin
 

Neue Beiträge

Zurück