Typeumwandlung im OLEDB Statement

03/08/2008 - 08:00 von Thomas Hübner | Report spam
Hi All,

Welche Typumwandlung kann ich wie Realisieren. Hintergrund ist
ich möchte eine Function haben (Ansatz unten) welche mir die korrekte
Typumwandlung für das Statement. Ein paar habe ich schon aber die Liste
von OleDb.OleDbType ist ja noch ein ganzes Stück lànger.
Gruß,
Thomas


Private Function prep_SQLField(ByVal colName As String, _
ByVal colType As OleDb.OleDbType) As String
Select Case colType
Case OleDbType.Char
Return "IIF(NOT " & colName & _
" IS NULL,CSTR(" & colName & "),NULL) AS " & _
colName
Case OleDbType.Double
Return "IIF(NOT " & colName & _
" IS NULL,CDBL(" & colName & "),NULL) AS " & _
colName
Case OleDbType.Integer
Return "IIF(NOT " & colName & _
" IS NULL,CINT(" & colName & "),NULL) AS " & _
colName
Case OleDbType.Date
Return "IIF(NOT " & colName & _
" IS NULL,CDATE(" & colName & "),NULL) AS " & _
colName
Case OleDbType.DBDate
Return "IIF(NOT " & colName & _
" IS NULL,CDATE(" & colName & "),NULL) AS " & _
colName
Case Else
Return "IIF(NOT " & colName & _
" IS NULL," & colName & ")) AS " & colName
End Select
End Function
 

Lesen sie die antworten

#1 Peter Götz
03/08/2008 - 09:38 | Warnen spam
Hallo Thomas,

Welche Typumwandlung kann ich wie Realisieren.
Hintergrund ist ich möchte eine Function haben
(Ansatz unten) welche mir die korrekte Typumwandlung
für das Statement. Ein paar habe ich schon aber die Liste
von OleDb.OleDbType ist ja noch ein ganzes Stück lànger.



Ich verstehe (noch) nicht ganz, worauf es Dir ankommt.
Wenn Du wissen willst, welche OleDbTypen überhaupt
in Frage kommen, dann hàngt das von der jeweiligen
Datenbank ab.

Mit der Methode

Connection.GetSchema(DataTypes)

kannst Du Dir eine Liste (DataTable) der vom akt.
DB-System unterstützten Datentypen holen. Dabei
siehst Du auch die Entsprechungen

ProviderDBType - (System.)DataType


Kompl. Beispiele, welche auch alle übrigen Meta-Infos
aus einer DB holen, findest Du unter

www.gssg.de -> Visual Basic -> VB.net
-> OLEDB1 (Access.mdb)
-> SQLserver_01

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen