| |

VB.NET - FortgeschritteneWie Datentyp einer Variable festlegen aus String (z.B. in einer Datei) | |  | Autor: nEuDy | Datum: 28.10.08 11:18 |
| Hi @ll..
bin jetzt schon seit Tagen an einem kleinen dummen Problemchen dran und komm nicht drauf *grr*
Ich will einen String in einen Datentyp umwandeln und diesen dann für die Initialisierung einer Variable verwenden:
Kurz als ALLGEMEINES Beispiel:
Ich habe einen String z.B. "System.Int32", z.B. geschrieben in einer Textdatei.
Nun will ich eine Variable anlegen, mit diesem Wert
Dim s as String = "System.Int32"
Dim x as s Das ist klar dass dies nicht funktioniert, aber nur zum allgemeinen Verständnis was ich machen will.
Den Typ aus einem String lässt sich ja so ermitteln:
Type.GetType("System.Int32") Nur bei vielen Externen Klassen bekomm ich eben den Fehler auf eine nicht Inizialierte Objektinstanz.
Mir geht es hauptsächlich darum.
Mit dem SQL SMO will ich einen Datenbank aus einer Konfigurationsdatei (Text oder xml) erstellen.
In der Datei steht der Spalenname und der Datentyp
--> z.B.
<item columnname="Testspalte1" typ="BigInt">
<item columnname="Testspalte2" typ="NVarChar(20)">
Über das Microsoft.SqlServer.Management.Smo erstelle ich eine Variable mit dem Column Datentyp
Dim col as Microsoft.SqlServer.Management.Smo.Column
col = new Column(tabellenname, "Hier die Spalte aus der Textdatei z.B." & _
"Testspalte1"
col.Datatype = DataType.BigInt <<--- Dort beim Datatype will ich den Wert aus der Textdatei hernehmen.
Probiert habe ich schon
col.Datatype = Type.GetType("DataType.BigInt") Aber das klappt nur mit den Systemwerden z.B. "System.String" "System.Int32" usw..
Ansonten bekomme ich immer die Fehlermeldung auf die fehlende Objektinstanz.
über CType gehts auch nicht, da nimmt ers mir nicht an
z.B. über das erstellen einer irrelevanten Variable, und die über CType umwandeln und dann über GetType wieder den Datentyp herzugbekommen.
1.
CType(Variable, Type.GetType("System.String")) <-- Geht nicht
2.
Dim t as Type
t = Type.GetType("System.String")
CType(Variable, t) <-- Geht auch nicht (auch nicht beim Festlegen einer _
Variable z.B. x = [...])
3.
Dim o as Object
Dim x as String = ""
x = CType(o, Type.GetType("System.String"))
Klasse.Datentype = x.GetType()
<-- Das war meine Eigentlich Idee Fall Ihr mir jetzt vlt sagen wollt, nimm doch ein SQL-Skript, dann muss ich ablehnen. Es soll über das SMO gehen.
Auch bitte keine Kommentare wie, Bitte nimm doch für die String umwandlung oder Integer Umwandlung CInt, CStr.. Das ist mir alles klar.. aber es geht mir hierbei um die Datenbankerstellung und um das Allgemeine.
Irgendwie musss es ja funktionieren..
Aber nach langen langen Versuchen hab ichs einfach nicht hinbekommen..
Vlt hat das schon mal jemand so ähnlich gemacht, wie ich es machen will oder weiß jemand ne lösung.
Schon mal vielen vielen Dank im Voraus
mfg -=nEuDy=- |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
Neu! sevEingabe 3.0 
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|