2

私は ADO (Delphi & C++ Builder) を使用しており、TADOTable コンポーネントにある主キー フィールド (それらの名前) を取得したいと考えています。どうやってするの?

ADOConnection->OpenSchema を使用する必要があることがわかりましたが、これを使用する方法がわかりません..

今私はこれを試しました:

int bounds[] = {0,2};
OleVariant A(bounds,1, varVariant);
A.PutElement(varEmpty,0);
A.PutElement(varEmpty,1);
A.PutElement("MyDBTable",2);


OleVariant EmptyParam;
EmptyParam.VType = VT_ERROR;
EmptyParam.VError = DISP_E_PARAMNOTFOUND;
TADODataSet *temp = new TADODataSet(NULL);

AdoConnection1->OpenSchema(siPrimaryKeys, A, EmptyParam, temp);
temp->Open();
temp->First();
while (!temp->Eof)
{
    Memo1->Lines->Add(temp->Fields->Fields[0]->AsString);
    temp->Next();
}
temp->Close();
delete temp;

このコードを実行すると、「オブジェクトまたはプロバイダーは、要求された操作を実行できません。」

4

2 に答える 2