1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
Prov = PROVIDER_SOURCE + mNomFichier;
Catalog->set_ActiveConnection(Prov);
Catalog->Connect();
OleVariant NomTableDn = "TOTO";
TADOXKey *Key = new TADOXKey(NULL);
OleVariant NomRelation = "Relation1";
Key->Name = NomRelation;
Key->Type = KeyTypeEnum::adKeyForeign;
OleVariant NomTableUp = "TUTU";
Key->RelatedTable = NomTableUp;
OleVariant NomChpDn = "Num_TOTO";
OleVariant NomChpUp = "ID";
Key->Columns->Append(NomChpDn,Adox_tlb::DataTypeEnum::adInteger,0);
Key->Columns->get_Item(NomChpDn)->RelatedColumn = NomChpUp;
if(Casc_Add) Key->UpdateRule = RuleEnum::adRICascade;
if(Casc_Del) Key->DeleteRule = RuleEnum::adRICascade;
KeyVar = (IDispatch *) Key->GetDefaultInterface();
Catalog->Tables->get_Item(NomTableDn)->Keys->Append(KeyVar,Key->Type,NomChpDn,NomTableUp,NomChpUp);
Catalog->Disconnect();
delete Key; |
Partager