000
12.08.2004, 09:05 Uhr
~theolmue
Gast
|
Hallo, ich muss in C# per Programmcode eine Access-Datenbank erzeugen. Dazu gehören neben Indizee auch Beziehungen zwischen Tabellen. Ich habe folgenden Code geschrieben, allerdings erzeugt die letzte Zeile eine Exception. Wer hat eine Idee? Ach ja, es reicht nicht, nur eine Relation in einem Dataset zu erzeugen. Ich muss die Informationen in der .MDB haben!
C#: |
private void createRelation(String KeyName, ADOX.Table Tabelle, String Feld, String FremdTabelle, String FremdFeld, RuleEnum UpdateRule, RuleEnum DeleteRule) { // Schlüssel anlegen ADOX.Key key = new ADOX.KeyClass(); key.Name = KeyName; key.Type = KeyTypeEnum.adKeyForeign; // Tabelle, auf die verwiesen wird festlegen key.RelatedTable = FremdTabelle; // Feld, das auf die andere Tabelle verweisen soll festlegen key.Columns.Append(Feld, Tabelle.Columns[Feld].Type,Tabelle.Columns[Feld].DefinedSize); // Feld, auf das verwiesen wird festlegen key.Columns[Feld].RelatedColumn = FremdFeld; System.Windows.Forms.MessageBox.Show(null,key.Columns.Count.ToString(),""); // Regeln festlegen key.DeleteRule = DeleteRule; key.UpdateRule = UpdateRule; // Schlüssel schreiben // TODO: Relations funktionieren nicht Tabelle.Keys.Append(key, 0, null, null, null); }
|
PS: Die Tabellen und Felder existieren.
Damit ADOX bekannt ist, muss folgender COM-Verweis eingebunden sein: Microsoft ADO Ext. 2.7 for DLL and Security Dieser Post wurde am 13.08.2004 um 23:18 Uhr von FloSoft editiert. |