{"id":55000035,"date":"2016-04-01T00:00:00","date_gmt":"2020-03-27T19:18:58","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=35"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"ADONET_Typisierte_und_untypisierte_DataSets","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/ADONET_Typisierte_und_untypisierte_DataSets\/","title":{"rendered":"ADO.NET: Typisierte und untypisierte DataSets"},"content":{"rendered":"<p><b>Unter ADO.NET gibt es typisierte und untypisierte DataSets. In den bisherigen Artikeln haben Sie meist mit untypisierten DataSets gearbeitet. Das hei&szlig;t, dass Sie alle ben&ouml;tigten Objekte per Code erzeugt und dabei auch Verbindungseigenschaften, SQL-Anweisungen et cetera &uuml;bergeben haben. Bei typisierten DataSets definieren Sie die meisten Eigenschaften des sp&auml;ter im Code verwendeten DataSets &uuml;ber einen Assistenten. Dies gelingt durch einige Klassen, die vom Assistenten automatisch erzeugt werden und mit deren Hilfe Sie sp&auml;ter direkt per IntelliSense auf die enthaltenen Tabellen und Felder zugreifen k&ouml;nnen.<\/b><\/p>\n<p>Doch eins nach dem anderen: Wir wollen zun&auml;chst einmal den zust&auml;ndigen Assistenten bem&uuml;hen, um ein typisiertes DataSet auf Basis zweier Tabellen der Beispieldatenbank &#8211;<b>Suedsturm.mdb <\/b>zu erzeugen. Sp&auml;ter zeigen wir dann, welche M&ouml;glichkeiten das typisierte DataSet gegen&uuml;ber seinem nicht typisierten Pendant liefert.<\/p>\n<h2>Datenquelle hinzuf&uuml;gen<\/h2>\n<p>Wir wollen die beiden Tabellen <b>tblArtikel<\/b>, <b>tblKategorien <\/b>und <b>tblLieferanten <\/b>zum DataSet hinzuf&uuml;gen. Um dies zu erledigen, zeigen Sie zun&auml;chst mit dem Men&uuml;eintrag <b>Ansicht|Server<\/b>-Explorer den Server-Explorer an, der auch einen Eintrag namens <b>Datenverbindungen <\/b>enth&auml;lt. W&auml;hlen Sie den Eintrag <b>Verbindung hinzuf&uuml;gen&#8230; <\/b>aus dem Kontextmen&uuml; dieses Eintrags aus.<\/p>\n<p>Es erscheint nun der Dialog <b>Datenquelle ausw&auml;hlen<\/b>, der verschiedene Datenquellentypen anzeigt. W&auml;hlen Sie hier den Typ <b>Microsoft Access-Datenbankdateien <\/b>aus und klicken Sie auf <b>Weiter<\/b> (siehe Bild 1).<\/p>\n<p>Im folgenden Schritt geben Sie die konkrete Access-Datenbankdatei an. Testen Sie die Verbindung, indem Sie auf <b>Testverbindung <\/b>klicken. Liefert dies keinen Fehler, beenden Sie den Assistenten mit einem Klick auf die Schaltfl&auml;che <b>OK<\/b> (siehe Bild 2).<\/p>\n<p>Im Anschluss finden Sie im Server-Explorer unter Datenverbindungen einen neuen Eintrag namens <b>Suedsturm.mdb <\/b>vor. Wenn Sie diesen Eintrag erweitern, finden Sie schnell heraus, dass auch alle enthaltenen Tabellen zur Verf&uuml;gung stehen (siehe Bild 3).<\/p>\n<h2>Typisiertes DataSet Erstellen<\/h2>\n<p>W&auml;hlen Sie nun den Men&uuml;eintrag <b>Projekt|Neues Element hinzuf&uuml;gen&#8230; <\/b>aus, erscheint der Dialog <b>Neues Element hinzuf&uuml;gen<\/b>. Mit diesem w&auml;hlen Sie nun die Kategorie <b>Visual C#-Elemente|Daten <\/b>aus und klicken dann auf das Element <b>DataSet<\/b>. Tragen Sie als Name <b>Suedsturm_DataSet.xsd<\/b> ein und klicken Sie auf <b>Hinzuf&uuml;gen<\/b> (siehe Bild 4).<\/p>\n<p>Das neue Objekt <b>Suedsturm_DataSet.xsd <\/b>wird nun im Designer in Visual Studio angezeigt. Aktivieren Sie nun den Server-Explorer, sodass dieser neben dem neuen Objekt <b>Suedsturm_DataSet.xsd <\/b>zu sehen ist.<\/p>\n<p>Nun ziehen Sie die Tabellen <b>tblArtikel<\/b>, <b>tblLieferanten <\/b>und <b>tblKategorien <\/b>aus dem Server-Explorer in den Entwurf des DataSets. Direkt beim Versuch, die erste Tabelle hin&uuml;berzuziehen, sollte die Meldung aus Bild 5 erscheinen. Wenn Sie hier auf <b>Ja<\/b> klicken, wird die verwendete Datenbankdatei <b>Suedsturm.mdb <\/b>zum Projekt hinzugef&uuml;gt.<\/p>\n<p>Danach geht es los: Ziehen Sie die drei Tabellen in den Entwurf des DataSets und Sie erhalten die Konstellation aus Bild 6. Die Tabellen werden mit allen enthaltenen Feldern genau wie im Beziehungs-Fenster von Access angezeigt &#8211; nicht einmal die Beziehungspfeile fehlen. Ein wichtiger Unterschied ist jedoch, dass jede Tabelle unten ein weiteres Objekt etwa namens <b>tblArtikelTableAdapter <\/b>enth&auml;lt, das die beiden Methoden <b>Fill <\/b>und <b>GetData <\/b>anbietet.<\/p>\n<h2>Nicht alle Felder einer Tabelle verwenden<\/h2>\n<p>Wie Sie sehen, wurden die Tabellen vollst&auml;ndig in das DataSet &uuml;bernommen &#8211; wie soll es auch anders sein, wenn Sie die kompletten Tabellen hin&uuml;ber ziehen Andererseits kann es ja auch einmal vorkommen, dass Sie nicht alle Felder einer Tabelle verwenden m&ouml;chten. In diesem Fall klappen Sie das Tabellen-Element im Server-Explorer so auf, dass Sie die einzelnen Feldnamen der Tabelle sehen. Hier w&auml;hlen Sie nun entweder bei gedr&uuml;ckter Umschalt- oder <b>Strg<\/b>-Taste die gew&uuml;nschten Felder aus. Bei gedr&uuml;ckter Umschalttaste markieren Sie alle Felder zwischen dem zuerst und dem zuletzt angeklickten Feld, mit gedr&uuml;ckter <b>Strg<\/b>-Taste aktivieren oder deaktivieren Sie einzelne Eintr&auml;ge. In diesem Fall wollen wir jedoch alle Felder der Tabellen nutzen.<\/p>\n<h2>Vom Assistenten erzeugte Elemente<\/h2>\n<p>Damit ist das typisierte DataSet bereits fertiggestellt &#8211; nun schauen wir uns an, was der Assistent im Hintergrund alles f&uuml;r uns erledigt hat. Dazu brauchen Sie den Blick nur zum Projektmappen-Explorer zu wenden (siehe Bild 7). Hier finden Sie nun einen neuen Eintrag namens <b>Suedsturm_DataSet.xsd <\/b>mit dem Unterelement <b>Suedsturm_DataSet.Designer.cs<\/b>. Mit einem Doppelklick auf Ersteren gelangen Sie sp&auml;ter zum Designer zur&uuml;ck, um beispielsweise Tabellen oder Felder hinzuzuf&uuml;gen oder zu entfernen.<\/p>\n<p>Der Eintrag <b>Suedsturm_DataSet.Designer.cs <\/b>zeigt auf die neu erstellte Klasse, welche im aktuellen Zustand zun&auml;chst ein paar der Elemente bereith&auml;lt, die auch ein untypisiertes <b>DataSet<\/b>-Objekt liefert &#8211; beispielsweise die <b>Tables<\/b>&#8211; oder die <b>Relations<\/b>-Auflistung oder auch einige Methoden. Allerdings ist hier noch nichts zu sehen von den f&uuml;r unsere Zusammenstellung der drei Tabellen <b>tblArtikel<\/b>, <b>tblKategorien <\/b>und <b>tblLieferanten <\/b>typischen Elementen. Es gibt weder einen DataAdapter noch DataTables. Das &auml;ndert sich allerdings schlagartig, sobald Sie das typisierte DataSet beispielsweise mit der Tastenkombination <b>Strg + S <\/b>speichern. Dann wird Visual Studio n&auml;mlich aktiv und erweitert die Klasse um eine ganze Reihe von Elementen. Die wichtigsten zeigt Bild 8:<\/p>\n<ul>\n<li><b>Suedsturm_Dataset <\/b>ist eine Klasse, welche von der Klasse <b>DataSet<\/b> abgeleitet ist. Das hei&szlig;t, sie enth&auml;lt alle Methoden, Eigenschaften und Ereignisse dieser Klasse, f&uuml;gt aber eigene Elemente hinzu oder &uuml;berschreibt Elemente der Klasse. Durch das Hinzuf&uuml;gen oder &Uuml;berschreiben von Elementen, die sich speziell auf unsere Tabellen beziehen, erhalten wir ja eben das typisierte <b>DataSet<\/b>-Objekt.<\/li>\n<li>Die Klassen <b>tblArtikelTableAdapter<\/b>, <b>tblKategorienTableAdapter <\/b>und <b>tblLieferantenTableAdapter <\/b>sind von der Klasse <b>TableAdapter <\/b>abgeleitet.<\/li>\n<\/ul>\n<p>Die Klasse <b>Suedsturm_DataSet <\/b>enth&auml;lt noch die drei Klassen <b>tblArtikelDataTable<\/b>, <b>tblKategorienDataTable <\/b>und <b>tblLieferantenDataTable<\/b>. F&uuml;r den Zugriff auf die einzelnen Zeilen der Tabellen stellen die drei Klassen <b>tblArtikelRow<\/b>, <b>tblKategorienRow <\/b>und <b>tblLieferantenRow <\/b>f&uuml;r jedes Feld der urspr&uuml;nglichen Tabelle jeweils eine Eigenschaft zur Verf&uuml;gung, &uuml;ber die Sie per Code auf die Feldinhalte des aktuellen Datensatzes zugreifen k&ouml;nnen (siehe Bild 9).<\/p>\n<h2>Beispiel der Ausgabe der Daten eines untypisierten DataSets<\/h2>\n<p>Schauen wir uns nun an, wie der Zugriff auf ein typisiertes DataSet im Gegensatz zu dem auf ein untypisiertes DataSet aussieht. Bei einem untypisierten DataSet w&uuml;rden Sie den Code aus Listing 1 verwenden. Hier stehen eine Reihe von Aufgaben an:<\/p>\n<pre>public static void DataSetUntypisiert() {\r\n     string strConnection = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Suedsturm.mdb\";\r\n     string strSQL = \"SELECT * FROM tblArtikel\";\r\n     OleDbConnection cnn = new OleDbConnection(strConnection);\r\n     OleDbCommand cmd = new OleDbCommand();\r\n     OleDbDataAdapter da;\r\n     Data<span style=\"color:blue;\">Set<\/span> ds = new DataSet();\r\n     DataTable dt;\r\n     cmd.Connection = cnn;\r\n     cmd.CommandText = strSQL;\r\n     da = new OleDbDataAdapter(strSQL, cnn);\r\n     da.Fill(ds, \"tblArtikel\");\r\n     dt = ds.Tables[\"tblArtikel\"];\r\n     foreach (DataRow dr in dt.Rows) {\r\n         Console.WriteLine(\"{0} {1}\", dr[\"ArtikelID\"], dr[\"Artikelname\"]);\r\n     }\r\n     Console.ReadLine();\r\n}<\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 1: Ausgabe der Daten eines untypisierten DataSets<\/span><\/b><\/p>\n<ul>\n<li>Definieren des Connection-Strings<\/li>\n<li>Festlegen der SQL-Abfrage<\/li>\n<li>Deklarieren und gegebenenfalls Initialisieren von <b>Connection<\/b>-, <b>Command<\/b>-, <b>DataAdapter<\/b>-, <b>DataSet<\/b>&#8211; und <b>DataTable<\/b>-Objekten<\/li>\n<li>Zuweisen der <b>Connection<\/b>&#8211; und der <b>CommandText<\/b>-Eigenschaften des <b>Command<\/b>-Objekts<\/li>\n<li>Erstellen und F&uuml;llen des <b>DataAdapter<\/b>-Objekts mit der Tabelle <b>tblArtikel<\/b><\/li>\n<li>Zuweisen der Tabelle <b>tblArtikel <\/b>an die untypisierte <b>DataSet<\/b>-Variable<\/li>\n<li>Durchlaufen der <b>DataRow<\/b>-Objekte und Ausgabe der Werte in der Konsole wie in Bild 10 dargestellt<\/li>\n<\/ul>\n<h2>Beispiel der Ausgabe des typisierten DataSets<\/h2>\n<p>Listing 2 zeigt, wie Sie die gleiche Ausgabe der Daten der Tabelle <b>tblArtikel <\/b>in der Konsole mit dem typisierten DataSet erreichen. Hier haben wir mit dem Assistenten schon einige Vorarbeit geleistet, denn wir m&uuml;ssen zum Beispiel keine Verbindungszeichenfolge mehr zusammensetzen und auch keine <b>SELECT<\/b>-Abfrage f&uuml;r die Datenherkunft notieren.<\/p>\n<pre>public static void DataSetTypisiert() {\r\n     Suedsturm_Dataset ds = new Suedsturm_Dataset();\r\n     tblArtikelTableAdapter ta = new tblArtikelTableAdapter();\r\n     ta.Fill(ds.tblArtikel);\r\n     foreach (Suedsturm_Dataset.tblArtikelRow row in ds.tblArtikel) {\r\n         Console.WriteLine(\"{0} {1}\", row.ArtikelID, row.Artikelname);\r\n     }\r\n     Console.ReadLine();\r\n}<\/pre>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Visual Basic Entwickler<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000\"><a style=\"color: #ff0000\" href=\"https:\/\/shop.minhorst.com\/magazine\/363\/visual-basic-entwickler-jahresabonnement?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000\">Danach greifen Sie sofort auf <strong>alle rund 200 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000035\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/data\/wp\/v2\/posts\/55000035?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000035\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"566cea9b57\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Unter ADO.NET gibt es typisierte und untypisierte DataSets. In den bisherigen Artikeln haben Sie meist mit untypisierten DataSets gearbeitet. Das hei&szlig;t, dass Sie alle ben&ouml;tigten Objekte per Code erzeugt und dabei auch Verbindungseigenschaften, SQL-Anweisungen et cetera &uuml;bergeben haben. Bei typisierten DataSets definieren Sie die meisten Eigenschaften des sp&auml;ter im Code verwendeten DataSets &uuml;ber einen Assistenten. Dies gelingt durch einige Klassen, die vom Assistenten automatisch erzeugt werden und mit deren Hilfe Sie sp&auml;ter direkt per IntelliSense auf die enthaltenen Tabellen und Felder zugreifen k&ouml;nnen.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[66022016,662016,44000008,44000023,44000028],"tags":[],"yst_prominent_words":[66062094,66062051,66062047,66062052,66062059,66062061],"class_list":["post-55000035","post","type-post","status-publish","format-standard","hentry","category-66022016","category-662016","category-Datenzugriffstechnik","category-PowerApps","category-Word_programmieren"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"Unter ADO.NET gibt es typisierte und untypisierte DataSets. In den bisherigen Artikeln haben Sie meist mit untypisierten DataSets gearbeitet. Das hei\u00dft, dass Sie alle ben\u00f6tigten Objekte per Code erzeugt und dabei auch Verbindungseigenschaften, SQL-Anweisungen et cetera \u00fcbergeben haben. Bei typisierten DataSets definieren Sie die meisten Eigenschaften des sp\u00e4ter im Code verwendeten DataSets \u00fcber einen Assistenten. Dies gelingt durch einige Klassen, die vom Assistenten automatisch erzeugt werden und mit deren Hilfe Sie sp\u00e4ter direkt per IntelliSense auf die enthaltenen Tabellen und Felder zugreifen k\u00f6nnen.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Andr\u00e9 Minhorst\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/vbentwickler.de\/ADONET_Typisierte_und_untypisierte_DataSets\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Visual Basic Entwickler - Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"ADO.NET: Typisierte und untypisierte DataSets - Visual Basic Entwickler\" \/>\n\t\t<meta property=\"og:description\" content=\"Unter ADO.NET gibt es typisierte und untypisierte DataSets. In den bisherigen Artikeln haben Sie meist mit untypisierten DataSets gearbeitet. Das hei\u00dft, dass Sie alle ben\u00f6tigten Objekte per Code erzeugt und dabei auch Verbindungseigenschaften, SQL-Anweisungen et cetera \u00fcbergeben haben. Bei typisierten DataSets definieren Sie die meisten Eigenschaften des sp\u00e4ter im Code verwendeten DataSets \u00fcber einen Assistenten. Dies gelingt durch einige Klassen, die vom Assistenten automatisch erzeugt werden und mit deren Hilfe Sie sp\u00e4ter direkt per IntelliSense auf die enthaltenen Tabellen und Felder zugreifen k\u00f6nnen.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/vbentwickler.de\/ADONET_Typisierte_und_untypisierte_DataSets\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-27T19:18:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"-001-11-30T00:00:00+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"ADO.NET: Typisierte und untypisierte DataSets - Visual Basic Entwickler\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Unter ADO.NET gibt es typisierte und untypisierte DataSets. In den bisherigen Artikeln haben Sie meist mit untypisierten DataSets gearbeitet. Das hei\u00dft, dass Sie alle ben\u00f6tigten Objekte per Code erzeugt und dabei auch Verbindungseigenschaften, SQL-Anweisungen et cetera \u00fcbergeben haben. Bei typisierten DataSets definieren Sie die meisten Eigenschaften des sp\u00e4ter im Code verwendeten DataSets \u00fcber einen Assistenten. Dies gelingt durch einige Klassen, die vom Assistenten automatisch erzeugt werden und mit deren Hilfe Sie sp\u00e4ter direkt per IntelliSense auf die enthaltenen Tabellen und Felder zugreifen k\u00f6nnen.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/ADONET_Typisierte_und_untypisierte_DataSets\\\/#blogposting\",\"name\":\"ADO.NET: Typisierte und untypisierte DataSets - Visual Basic Entwickler\",\"headline\":\"ADO.NET: Typisierte und untypisierte DataSets\",\"author\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/cropped-header_vbe-1.png\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#articleImage\",\"width\":664,\"height\":225},\"datePublished\":\"2016-04-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"inLanguage\":\"de-DE\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/ADONET_Typisierte_und_untypisierte_DataSets\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/ADONET_Typisierte_und_untypisierte_DataSets\\\/#webpage\"},\"articleSection\":\"2\\\/2016, 2016, Datenzugriffstechnik, PowerApps, Word programmieren, 0 1 1, felder, hinzuf\\u00fcgen, installation und start, logindaten, testzugang\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/ADONET_Typisierte_und_untypisierte_DataSets\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vbentwickler.de\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2016\\\/#listItem\",\"name\":\"2016\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2016\\\/#listItem\",\"position\":2,\"name\":\"2016\",\"item\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2016\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2016\\\/2\\\/2016\\\/#listItem\",\"name\":\"2\\\/2016\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2016\\\/2\\\/2016\\\/#listItem\",\"position\":3,\"name\":\"2\\\/2016\",\"item\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2016\\\/2\\\/2016\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/ADONET_Typisierte_und_untypisierte_DataSets\\\/#listItem\",\"name\":\"ADO.NET: Typisierte und untypisierte DataSets\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2016\\\/#listItem\",\"name\":\"2016\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/ADONET_Typisierte_und_untypisierte_DataSets\\\/#listItem\",\"position\":4,\"name\":\"ADO.NET: Typisierte und untypisierte DataSets\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2016\\\/2\\\/2016\\\/#listItem\",\"name\":\"2\\\/2016\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#organization\",\"name\":\"Datenbankentwickler\",\"description\":\"Das Magazin f\\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/cropped-header_vbe-1.png\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/ADONET_Typisierte_und_untypisierte_DataSets\\\/#organizationLogo\",\"width\":664,\"height\":225},\"image\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/ADONET_Typisierte_und_untypisierte_DataSets\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/\",\"name\":\"Andr\\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/ADONET_Typisierte_und_untypisierte_DataSets\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Andr\\u00e9 Minhorst\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/ADONET_Typisierte_und_untypisierte_DataSets\\\/#webpage\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/ADONET_Typisierte_und_untypisierte_DataSets\\\/\",\"name\":\"ADO.NET: Typisierte und untypisierte DataSets - Visual Basic Entwickler\",\"description\":\"Unter ADO.NET gibt es typisierte und untypisierte DataSets. In den bisherigen Artikeln haben Sie meist mit untypisierten DataSets gearbeitet. Das hei\\u00dft, dass Sie alle ben\\u00f6tigten Objekte per Code erzeugt und dabei auch Verbindungseigenschaften, SQL-Anweisungen et cetera \\u00fcbergeben haben. Bei typisierten DataSets definieren Sie die meisten Eigenschaften des sp\\u00e4ter im Code verwendeten DataSets \\u00fcber einen Assistenten. Dies gelingt durch einige Klassen, die vom Assistenten automatisch erzeugt werden und mit deren Hilfe Sie sp\\u00e4ter direkt per IntelliSense auf die enthaltenen Tabellen und Felder zugreifen k\\u00f6nnen.\",\"inLanguage\":\"de-DE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/ADONET_Typisierte_und_untypisierte_DataSets\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"datePublished\":\"2016-04-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#website\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/\",\"name\":\"Datenbankentwickler\",\"description\":\"Das Magazin f\\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.\",\"inLanguage\":\"de-DE\",\"publisher\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"ADO.NET: Typisierte und untypisierte DataSets - Visual Basic Entwickler","description":"Unter ADO.NET gibt es typisierte und untypisierte DataSets. In den bisherigen Artikeln haben Sie meist mit untypisierten DataSets gearbeitet. Das hei\u00dft, dass Sie alle ben\u00f6tigten Objekte per Code erzeugt und dabei auch Verbindungseigenschaften, SQL-Anweisungen et cetera \u00fcbergeben haben. Bei typisierten DataSets definieren Sie die meisten Eigenschaften des sp\u00e4ter im Code verwendeten DataSets \u00fcber einen Assistenten. Dies gelingt durch einige Klassen, die vom Assistenten automatisch erzeugt werden und mit deren Hilfe Sie sp\u00e4ter direkt per IntelliSense auf die enthaltenen Tabellen und Felder zugreifen k\u00f6nnen.","canonical_url":"https:\/\/vbentwickler.de\/ADONET_Typisierte_und_untypisierte_DataSets\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/vbentwickler.de\/ADONET_Typisierte_und_untypisierte_DataSets\/#blogposting","name":"ADO.NET: Typisierte und untypisierte DataSets - Visual Basic Entwickler","headline":"ADO.NET: Typisierte und untypisierte DataSets","author":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"publisher":{"@id":"https:\/\/vbentwickler.de\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/vbentwickler.de\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png","@id":"https:\/\/vbentwickler.de\/#articleImage","width":664,"height":225},"datePublished":"2016-04-01T00:00:00+00:00","dateModified":"-0001-11-30T00:00:00+00:00","inLanguage":"de-DE","mainEntityOfPage":{"@id":"https:\/\/vbentwickler.de\/ADONET_Typisierte_und_untypisierte_DataSets\/#webpage"},"isPartOf":{"@id":"https:\/\/vbentwickler.de\/ADONET_Typisierte_und_untypisierte_DataSets\/#webpage"},"articleSection":"2\/2016, 2016, Datenzugriffstechnik, PowerApps, Word programmieren, 0 1 1, felder, hinzuf\u00fcgen, installation und start, logindaten, testzugang"},{"@type":"BreadcrumbList","@id":"https:\/\/vbentwickler.de\/ADONET_Typisierte_und_untypisierte_DataSets\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/vbentwickler.de#listItem","position":1,"name":"Home","item":"https:\/\/vbentwickler.de","nextItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2016\/#listItem","name":"2016"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2016\/#listItem","position":2,"name":"2016","item":"https:\/\/vbentwickler.de\/category\/2016\/","nextItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2016\/2\/2016\/#listItem","name":"2\/2016"},"previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2016\/2\/2016\/#listItem","position":3,"name":"2\/2016","item":"https:\/\/vbentwickler.de\/category\/2016\/2\/2016\/","nextItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/ADONET_Typisierte_und_untypisierte_DataSets\/#listItem","name":"ADO.NET: Typisierte und untypisierte DataSets"},"previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2016\/#listItem","name":"2016"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/ADONET_Typisierte_und_untypisierte_DataSets\/#listItem","position":4,"name":"ADO.NET: Typisierte und untypisierte DataSets","previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2016\/2\/2016\/#listItem","name":"2\/2016"}}]},{"@type":"Organization","@id":"https:\/\/vbentwickler.de\/#organization","name":"Datenbankentwickler","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.","url":"https:\/\/vbentwickler.de\/","logo":{"@type":"ImageObject","url":"https:\/\/vbentwickler.de\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png","@id":"https:\/\/vbentwickler.de\/ADONET_Typisierte_und_untypisierte_DataSets\/#organizationLogo","width":664,"height":225},"image":{"@id":"https:\/\/vbentwickler.de\/ADONET_Typisierte_und_untypisierte_DataSets\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author","url":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","@id":"https:\/\/vbentwickler.de\/ADONET_Typisierte_und_untypisierte_DataSets\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","width":96,"height":96,"caption":"Andr\u00e9 Minhorst"}},{"@type":"WebPage","@id":"https:\/\/vbentwickler.de\/ADONET_Typisierte_und_untypisierte_DataSets\/#webpage","url":"https:\/\/vbentwickler.de\/ADONET_Typisierte_und_untypisierte_DataSets\/","name":"ADO.NET: Typisierte und untypisierte DataSets - Visual Basic Entwickler","description":"Unter ADO.NET gibt es typisierte und untypisierte DataSets. In den bisherigen Artikeln haben Sie meist mit untypisierten DataSets gearbeitet. Das hei\u00dft, dass Sie alle ben\u00f6tigten Objekte per Code erzeugt und dabei auch Verbindungseigenschaften, SQL-Anweisungen et cetera \u00fcbergeben haben. Bei typisierten DataSets definieren Sie die meisten Eigenschaften des sp\u00e4ter im Code verwendeten DataSets \u00fcber einen Assistenten. Dies gelingt durch einige Klassen, die vom Assistenten automatisch erzeugt werden und mit deren Hilfe Sie sp\u00e4ter direkt per IntelliSense auf die enthaltenen Tabellen und Felder zugreifen k\u00f6nnen.","inLanguage":"de-DE","isPartOf":{"@id":"https:\/\/vbentwickler.de\/#website"},"breadcrumb":{"@id":"https:\/\/vbentwickler.de\/ADONET_Typisierte_und_untypisierte_DataSets\/#breadcrumblist"},"author":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"creator":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"datePublished":"2016-04-01T00:00:00+00:00","dateModified":"-0001-11-30T00:00:00+00:00"},{"@type":"WebSite","@id":"https:\/\/vbentwickler.de\/#website","url":"https:\/\/vbentwickler.de\/","name":"Datenbankentwickler","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.","inLanguage":"de-DE","publisher":{"@id":"https:\/\/vbentwickler.de\/#organization"}}]},"og:locale":"de_DE","og:site_name":"Visual Basic Entwickler - Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.","og:type":"article","og:title":"ADO.NET: Typisierte und untypisierte DataSets - Visual Basic Entwickler","og:description":"Unter ADO.NET gibt es typisierte und untypisierte DataSets. In den bisherigen Artikeln haben Sie meist mit untypisierten DataSets gearbeitet. Das hei\u00dft, dass Sie alle ben\u00f6tigten Objekte per Code erzeugt und dabei auch Verbindungseigenschaften, SQL-Anweisungen et cetera \u00fcbergeben haben. Bei typisierten DataSets definieren Sie die meisten Eigenschaften des sp\u00e4ter im Code verwendeten DataSets \u00fcber einen Assistenten. Dies gelingt durch einige Klassen, die vom Assistenten automatisch erzeugt werden und mit deren Hilfe Sie sp\u00e4ter direkt per IntelliSense auf die enthaltenen Tabellen und Felder zugreifen k\u00f6nnen.","og:url":"https:\/\/vbentwickler.de\/ADONET_Typisierte_und_untypisierte_DataSets\/","og:image":"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png","og:image:secure_url":"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png","article:published_time":"2020-03-27T19:18:58+00:00","article:modified_time":"-001-11-30T00:00:00+00:00","twitter:card":"summary_large_image","twitter:title":"ADO.NET: Typisierte und untypisierte DataSets - Visual Basic Entwickler","twitter:description":"Unter ADO.NET gibt es typisierte und untypisierte DataSets. In den bisherigen Artikeln haben Sie meist mit untypisierten DataSets gearbeitet. Das hei\u00dft, dass Sie alle ben\u00f6tigten Objekte per Code erzeugt und dabei auch Verbindungseigenschaften, SQL-Anweisungen et cetera \u00fcbergeben haben. Bei typisierten DataSets definieren Sie die meisten Eigenschaften des sp\u00e4ter im Code verwendeten DataSets \u00fcber einen Assistenten. Dies gelingt durch einige Klassen, die vom Assistenten automatisch erzeugt werden und mit deren Hilfe Sie sp\u00e4ter direkt per IntelliSense auf die enthaltenen Tabellen und Felder zugreifen k\u00f6nnen.","twitter:image":"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png"},"aioseo_meta_data":{"post_id":"55000035","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2024-01-30 15:33:27","updated":"2026-05-16 08:14:57","ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/vbentwickler.de\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/vbentwickler.de\/category\/2016\/\" title=\"2016\">2016<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/vbentwickler.de\/category\/2016\/2\/2016\/\" title=\"2\/2016\">2\/2016<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tADO.NET: Typisierte und untypisierte DataSets\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/vbentwickler.de"},{"label":"2016","link":"https:\/\/vbentwickler.de\/category\/2016\/"},{"label":"2\/2016","link":"https:\/\/vbentwickler.de\/category\/2016\/2\/2016\/"},{"label":"ADO.NET: Typisierte und untypisierte DataSets","link":"https:\/\/vbentwickler.de\/ADONET_Typisierte_und_untypisierte_DataSets\/"}],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000035","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/comments?post=55000035"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000035\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000035"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000035"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000035"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000035"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}