Veröffentlicht 15. November 201014 j 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 :.
16. November 201014 j 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?
17. November 201014 j 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 :.
18. November 201014 j Spricht was dagegen, dass du dir nen SQL query bastelst, und das dann über ein OleDbCommand ausführst ? create table blablub (col1 int , col2 nvarchar(50),..... ) ?
22. November 201014 j 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.