![]() | Programming Guide | ![]() |
Executes a DBMS command directly from C
#include <dmuproto.h>int dm_dbms(char *dbms_cmd);
dbms_cmd- Points to a buffer with the
DBMScommand to execute. Refer to Chapter 11, "DBMS Statements and Commands," for detailed descriptions of eachDBMScommand.
dm_dbmslets you execute anyDBMScommand directly from C. This function executes in the following steps:
dbms_cmdis examined for the WITH ENGINE or WITH CONNECTION clause. If it is not used,dm_dbmsassumes the default engine and connection.- The colon preprocessor examines
dbms_cmdfor colon variables and performs the indicated expansion.dbms_cmdis passed to the appropriate function for handingDBMScommands. After executing the requested command, Panther updates all global status and error variables (@dm).If the application has installed an entry function with DBMS ONENTRY, an exit function with DBMS ONEXIT, or an error handler with DBMS ONERROR, the installed function is called for commands executed through
dm_dbms.
int start_up ()
{
int retcode;
retcode = dm_dbms ("ONERROR CALL do_error");
if (retcode)
{
sm_emsg("Cannot install application error handler.")
return 0;
}
dm_dbms ("DECLARE c1 CONNECTION FOR USER ':user' PASSWORD
':password'");
return 0;
}