ODBC applications perform almost all database access by executing SQL statements. The form of these statements—hard-coded or constructed at run time, interoperable or data source–specific, and so on—depends on the needs of the application.