Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
I det här avsnittet förklaras:
När du ska använda direkta SQL-anrop.
Anmärkning
Den här informationen gäller för MFC ODBC-klasserna. Om du arbetar med MFC DAO-klasserna läser du avsnittet "Jämförelse av Microsoft Jet Database Engine SQL och ANSI SQL" i DAO-hjälpen.
När du ska anropa SQL direkt
Om du vill skapa nya tabeller, släppa (ta bort) tabeller, ändra befintliga tabeller, skapa index och utföra andra SQL-funktioner som ändrar ODBC-schemat (Data Source) måste du utfärda en SQL-instruktion direkt till datakällan med hjälp av Database Definition Language (DDL). När du använder en guide för att skapa en rekorduppsättning för en tabell (under design) kan du välja vilka kolumner i tabellen som ska representeras i rekorduppsättningen. Detta tillåter inte kolumner som du eller en annan användare av datakällan lägger till i tabellen senare, efter att programmet har kompilerats. Databasklasserna stöder inte DDL direkt, men du kan fortfarande skriva kod för att binda en ny kolumn till postuppsättningen dynamiskt vid körning. Information om hur du gör den här bindningen finns i Recordset: Dynamically Binding Data Columns (ODBC).
Du kan använda själva DBMS för att ändra schemat eller ett annat verktyg som gör att du kan utföra DDL-funktioner. Du kan också använda ODBC-funktionsanrop för att skicka SQL-instruktioner, till exempel anropa en fördefinierad fråga (lagrad procedur) som inte returnerar poster.
Göra direkta SQL-funktionsanrop
Du kan köra ett SQL-anrop direkt med hjälp av ett CDatabase-klassobjekt . Konfigurera SQL-instruktionssträngen (vanligtvis i en CString) och skicka den till funktionen CDatabase::ExecuteSQL member i objektet CDatabase . Om du använder ODBC-funktionsanrop för att skicka en SQL-instruktion som normalt returnerar poster ignoreras posterna.