See More

#include // for printf #include // main SQLAPI++ header int main(int argc, char* argv[]) { SAConnection con; // connection object SACommand cmd( &con, _TSA("Select fid, fvarchar20 from test_tbl")); // command object try { // connect to database (Oracle in our example) con.Connect(_TSA("test"), _TSA("tester"), _TSA("tester"), SA_Oracle_Client); // Select from our test table cmd.Execute(); // fetch results row by row and print results while(cmd.FetchNext()) { printf("Row fetched: fid = %ld, fvarchar20 = '%s'\n", cmd.Field(_TSA("fid")).asLong(), cmd.Field(_TSA("fvarchar20")).asString().GetMultiByteChars()); } // commit changes on success con.Commit(); printf("Rows selected!\n"); } catch(SAException &x) { // SAConnection::Rollback() // can also throw an exception // (if a network error for example), // we will be ready try { // on error rollback changes con.Rollback(); } catch(SAException &) { } // print error message printf("%s\n", x.ErrText().GetMultiByteChars()); } return 0; }