Benutzer mit den meisten Antworten
Probleme mit Datentyp einer DataTable.Column

Frage
-
Hallo zusammen.
Ich versuche momentan, den DataTables meines nicht typisierten DataSets (welches zur Laufzeit erstellt wird und dann in den Settings gespeichert wird) DataColumns hinzuzufügen, deren DataType "Integer" sein sollen. Leider gelingt mir das nicht.
Hier ein bisschen Code:
My.Settings.DS = New DataSet("DS") With My.Settings.DS Dim DT0 As DataTable = .Tables.Add("DT0") Dim DT1 As DataTable = .Tables.Add("DT1") Dim DT2 As DataTable = .Tables.Add("DT2") With .Tables("DT0") Dim DT0DC0 As DataColumn = New DataColumn("DT0DC0", System.Type.GetType("Sytem.Int32")) Dim DT0DC1 As DataColumn = New DataColumn("DT0DC1", System.Type.GetType("Sytem.Int32")) Dim DT0DC2 As DataColumn = New DataColumn("DT0DC2", System.Type.GetType("Sytem.Int32")) Dim DT0DC3 As DataColumn = New DataColumn("DT0DC3", System.Type.GetType("Sytem.Int32")) .Columns.Add(DT0DC0) .Columns.Add(DT0DC1) .Columns.Add(DT0DC2) .Columns.Add(DT0DC3) End With End With
Wenn der Code ausgeführt wird, endet dies immer mit der folgenden Fehlermeldung beim ersten "System.Type.GetType("System.Int32"):
System.ArgumentNullException wurde nicht von Benutzercode behandelt.
Message='dataType'-Argument darf nicht null sein.
Parametername: dataType
ParamName=dataType
Source=System.Data
StackTrace:
bei System.Data.DataColumn..ctor(String columnName, Type dataType, String expr, MappingType type)
bei System.Data.DataColumn..ctor(String columnName, Type dataType)
Könnt Ihr mir sagen, was ich da falsch mache?
Vielen Dank für Eure Hilfe
VG Carsten
Antworten
-
Hallo Carsten,
kein Grund es so kompliziert zu machen, in Visual Basic is GetType als Operator enthalten, und dort kannst Du den Klassen-/Strukturnamen angeben:
Dim DT0DC0 As DataColumn = New DataColumn("DT0DC0", GetType(Integer))
Gruß Elmar- Als Antwort markiert C. Mehnert Dienstag, 25. Juni 2013 08:17
Alle Antworten
-
Hallo Carsten,
kein Grund es so kompliziert zu machen, in Visual Basic is GetType als Operator enthalten, und dort kannst Du den Klassen-/Strukturnamen angeben:
Dim DT0DC0 As DataColumn = New DataColumn("DT0DC0", GetType(Integer))
Gruß Elmar- Als Antwort markiert C. Mehnert Dienstag, 25. Juni 2013 08:17