#include #include using namespace SQLDBC; int main(int argc, char **argv) { if (argc != 5) { std::cout << "usage: " << argv[0] << " \n"; return 1; } char err[256]; SQLDBC_IRuntime *runtime; if ((runtime = GetClientRuntime(err, sizeof(err))) == NULL) { std::cerr << err << '\n'; return 1; } SQLDBC_Environment *env = new SQLDBC_Environment(runtime); SQLDBC_Connection *conn; conn = env->createConnection(); if (conn->connect(argv[1], argv[4], argv[2], argv[3]) != SQLDBC_OK) { std::cerr << conn->error().getErrorText() << '\n'; return 1; } SQLDBC_PreparedStatement *stmt = conn->createPreparedStatement(); stmt->prepare("SELECT * FROM DUAL WHERE :test = 1"); SQLDBC_ParameterMetaData *pmd = stmt->getParameterMetaData(); std::cout << "statement has " << pmd->getParameterCount() << " parameters\n"; char pname[128]; SQLDBC_Length psz; if (pmd->getParameterName(1, pname, SQLDBC_StringEncodingAscii, sizeof(pname), &psz) != SQLDBC_OK) { std::cerr << "could not retrieve parameter name\n"; return 1; } std::cout << "parameter name is [" << pname << "], length " << psz << "\n"; }