SQCloudVMStep
SQCLOUD_RESULT_TYPE SQCloudVMStep (SQCloudVM *vm);
Description
Evaluate an SQL statement previously compiled by SQCloudVMCompile. This function resembles the sqlite3_step SQLite API.
Parameters
- vm: A valid VM obtained by SQCloudVMCompile.
Return value
An int
represented by the SQCLOUD_RESULT_TYPE enum type:
typedef enum {
RESULT_OK,
RESULT_ERROR,
RESULT_STRING,
RESULT_INTEGER,
RESULT_FLOAT,
RESULT_ROWSET,
RESULT_ARRAY,
RESULT_NULL,
RESULT_JSON,
RESULT_BLOB
} SQCLOUD_RESULT_TYPE;
Example
int main (int argc, const char * argv[]) {
// setup config
SQCloudConfig config = {0};
config.username = "myusername";
config.password = "mypassword"
SQCloudConnection *conn = SQCloudConnect("myproject.sqlite.cloud", SQCLOUD_DEFAULT_PORT, &config);
if (SQCloudIsError(conn)) {
printf("ERROR connecting: %s (%d)\n", SQCloudErrorMsg(conn), SQCloudErrorCode(conn));
return -1;
} else {
printf("Connection to host OK...\n\n");
}
// choose a database first
SQCloudResult *r = SQCloudExec(conn, "USE DATABASE mydatabase.sqlite;");
// compile the INSERT SQL statement
SQCloudVM *vm = SQCloudVMCompile(conn, "INSERT INTO table1 (col1) VALUES ('Hello World');", -1, NULL);
// execute the previously compiled statement
SQCLOUD_RESULT_TYPE type = SQCloudVMStep(vm);
// ...
}