Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[C#] Erstellte Access-Tabellen mit Standardwerten füllen

Empfohlene Antworten

Veröffentlicht

Mahlzeit liebe Community,

ich sitze nun schon seit einigen Tagen an einem Problem, welches ich nicht lösen kann...

Ich erstelle mit folgendem Code in einer Access-Datenbank zwei neue Tabellen:

        private void button2_Click(object sender, EventArgs e)

        {

            ADOX.CatalogClass cat = new ADOX.CatalogClass();

            ADOX.TableClass tbl = new ADOX.TableClass();

            ADOX.TableClass tbl2 = new ADOX.TableClass();

            ADODB.ConnectionClass cn = new ADODB.ConnectionClass();


            cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + textBox1.Text.ToString(), "", "", -1);


            cat.ActiveConnection = cn;


            tbl.Name = "Tabelle1";

            tbl.ParentCatalog = cat;


            tbl2.Name = "Tabelle2";

            tbl2.ParentCatalog = cat;


            try

            {   

                //Tabelle1 anlegen

                cat.Tables.Append(tbl);

                tbl.Columns.Append("test", ADOX.DataTypeEnum.adInteger, 0);

                tbl.Keys.Append("Primärschlüssel", KeyTypeEnum.adKeyPrimary, "test", "", "");

                tbl.Columns.Append("test2", ADOX.DataTypeEnum.adWChar, 100);

                tbl.Columns.Append("test3", ADOX.DataTypeEnum.adSingle, 0);

                tbl.Columns.Append("test4", ADOX.DataTypeEnum.adSingle, 0);


                //Tabelle2 anlegen

                cat.Tables.Append(tbl2);

                tbl2.Columns.Append("test1", ADOX.DataTypeEnum.adInteger, 0);

                tbl2.Keys.Append("Primärschlüssel", ADOX.KeyTypeEnum.adKeyPrimary, "test1", "", "");

                cn.Close;


                //Tabelle1 füllen              



            }

            catch

            {

                cn.Close();

                MessageBox.Show("Fehler!");

            }


            MessageBox.Show("Fertig!");

        }

    }

}

Und nun würde ich gern die frisch erstellte Tabelle1 mit ein paar Einträgen füllen...

Mir raucht der Kopf über die vermeindlich vielen Möglichkeiten: Oledb, adodb, adox... aber ich bekomme es einfach nicht hin!

Hat jemand Rat?

Vielen Dank im Voraus!

Gruß,

Pr3dat0r :.

Mahlzeit liebe Community,

Mir raucht der Kopf über die vermeindlich vielen Möglichkeiten: Oledb, adodb, adox... aber ich bekomme es einfach nicht hin!

Hat jemand Rat?

Vielen Dank im Voraus!

Gruß,

Pr3dat0r :.

OleDbCommand + Insert Into?

Jap, erste Hürde geschafft... Das Schreiben über DataAdapter unter OLEDB funktioniert anstandslos... Musste nur erst mal kapieren wie das geht :upps

Nun habe ich allerdings ein neues Problem...

Guten Morgen liebe Community,

Alle Felder der neuen Tabellen sind auf "Eingabe erforderlich" eingestellt und ich würde das gerne ändern...

Habe nun schon versch. Möglichkeiten ausprobiert:

- via ADOX über tbl.Columns["Bezeichnung"].Properties["Nullable"] = true

- sowie via ADO über adColNullable

komme aber nicht weiter. Meist scheitert es an dieser Fehlermeldung:

Fehler bei einem aus mehreren Schritten bestehenden OLE DB-Vorgang. Prüfen Sie die einzelnen OLE DB-Statuswerte, falls vorhanden. Daten wurden nicht verarbeitet.

Hoffentlich kann mir jemand helfen...

Gruß,

Pr3dat0r :.

Hab' mir nun doch noch ADOX.Column eingebunden und siehe da... es funktioniert! Dennoch danke für die Unterstützung ;)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.