| | | | Browse by category |
Article ID: 1076
Last updated: 02 Feb, 2008
Problem
When building a query, the restrictions are not known until run-time.
Cause
The information needed to build the RWDBCriterion is unknown at compile time.
Action
The following sample code shows how to build the RWDBCriterion with information that is read from a file. Note that the structure of the query is already known but the values are not known. However, the same approach will work when the information is coming from a user or some other source.
When building a query, the restrictions are not known until run-time.
Cause
The information needed to build the RWDBCriterion is unknown at compile time.
Action
The following sample code shows how to build the RWDBCriterion with information that is read from a file. Note that the structure of the query is already known but the values are not known. However, the same approach will work when the information is coming from a user or some other source.
void main() {
RWDBManager::setErrorHandler(errorHandler);
// FILL IN CONNECTION PARAMETERS!!
RWDBDatabase db = RWDBManager::database(params);
RWDBTracer &tracer = db.tracer();
tracer.setOn(RWDBTracer::SQL);
tracer.stream(cout);
// Get a table and a selector
RWDBTable tbl = db.table("test1");
RWDBSelector sel = db.selector();
// set the select list
sel << tbl["id"];
// Build an RWDBCriterion from RWDBExpr's and data read from file
RWCString f;
ifstream in("test.data");
RWDBExpr expr1(tbl["name"]);
RWDBCriterion crit1, crit2;
f.readToken(in);
if (!f.isNull()) {
crit1 = expr1 == f.data();
f.readToken(in);
while (!f.isNull()) { // have another token
crit2 = expr1 == f.data();
crit1 = crit1 || crit2;
f.readToken(in);
}
}
sel.where(crit1);
RWDBReader rdr = sel.reader();
while(rdr())
cout << "a row" << endl;
}
This article was:
Helpful |
Not helpful
Report an issue
Article ID: 1076
Last updated: 02 Feb, 2008
Revision: 1
Views: 4238
Posted: 03 Nov, 1998 by
Dean J.
Updated: 02 Feb, 2008 by
Dean J.
Also listed in
Others in this category
Powered by KBPublisher (Knowledge base software)