vector<ODBCParam> d_req_bind;
SSqlStatement* bind(const string& name, ODBCParam& p) {
+ prepareStatement();
d_req_bind.push_back(p);
SQLRETURN result = SQLBindParameter(
d_statement, // StatementHandle,
return this;
}
- SSqlStatement* bind(const string& name, bool value) { return bind(name, (uint32_t)value); }
+ SSqlStatement* bind(const string& name, bool value) { prepareStatement(); return bind(name, (uint32_t)value); }
- SSqlStatement* bind(const string& name, long value) { return bind(name, (unsigned long)value); }
+ SSqlStatement* bind(const string& name, long value) { prepareStatement(); return bind(name, (unsigned long)value); }
- SSqlStatement* bind(const string& name, int value) { return bind(name, (uint32_t)value); }
+ SSqlStatement* bind(const string& name, int value) { prepareStatement(); return bind(name, (uint32_t)value); }
- SSqlStatement* bind(const string& name, long long value) { return bind(name, (unsigned long long)value); }
+ SSqlStatement* bind(const string& name, long long value) { prepareStatement(); return bind(name, (unsigned long long)value); }
SSqlStatement* bind(const string& name, uint32_t value) {
+ prepareStatement();
ODBCParam p;
p.ParameterValuePtr = new UDWORD {value};
p.LenPtr = new SQLLEN {sizeof(UDWORD)};
}
SSqlStatement* bind(const string& name, unsigned long value) {
+ prepareStatement();
ODBCParam p;
p.ParameterValuePtr = new ULONG {value};
p.LenPtr = new SQLLEN {sizeof(ULONG)};
}
SSqlStatement* bind(const string& name, unsigned long long value) {
+ prepareStatement();
ODBCParam p;
p.ParameterValuePtr = new unsigned long long {value};
p.LenPtr = new SQLLEN {sizeof(unsigned long long)};
// cerr<<"asked to bind string "<<value<<endl;
if(d_req_bind.size() > (d_parnum+1)) throw SSqlException("Trying to bind too many parameters.");
-
+ prepareStatement();
ODBCParam p;
p.ParameterValuePtr = (char*) new char[value.size()+1];
SSqlStatement* bindNull(const string& name) {
if(d_req_bind.size() > (d_parnum+1)) throw SSqlException("Trying to bind too many parameters.");
+ prepareStatement();
ODBCParam p;
p.ParameterValuePtr = NULL;
SSqlStatement* execute()
{
+ prepareStatement();
SQLRETURN result;
// cerr<<"execute("<<d_query<<")"<<endl;
if (d_dolog) {