20#include "preparedstatement.h"
22#include <kexidb/connection.h>
23#include <kexidb/connection_p.h>
29 FieldList& fields, const TQStringList& where)
33 , m_where(where.isEmpty() ? new TQStringList(where) : 0)
39PreparedStatement::~PreparedStatement()
58 s.append(it.current()->name().latin1());
65 for (TQStringList::ConstIterator it=m_where->constBegin(); it!=m_where->constEnd(); ++it) {
71 Field *f = m_fields->field(*it);
73 KexiDBWarn << "PreparedStatement::generateStatementString(): no '"
74 << *it << "' field found" << endl;
77 m_whereFields->append(f);
78 s.append((*it).latin1());
91 const bool allTableFieldsUsed = dynamic_cast<TableSchema* >(m_fields);
93 for (uint i=0; i<m_fields->fieldCount(); i++, ++it) {
96 if (!allTableFieldsUsed)
97 namesList = it.current()->name().latin1();
101 if (!allTableFieldsUsed)
102 namesList.append(TQCString( ", ")+it.current()->name().latin1());
106 s.prepend(TQCString( "INSERT INTO ") + table->name().latin1()
107 + (allTableFieldsUsed ? TQCString() : ( " (" + namesList + ")"))
115 m_args.append(value);
TQPtrList< Field > List list of fields
TQPtrListIterator< Field > ListIterator iterator for list of fields
StatementType Defines type of the prepared statement.
@ InsertStatement INSERT statement will be prepared end executed.
@ SelectStatement SELECT statement will be prepared end executed.
TQCString generateStatementString()
PreparedStatement(StatementType type, ConnectionInternal &conn, FieldList &fields, const TQStringList &where=TQStringList()) Creates Prepared statement. In your code use KexiDB::Connection:prepareStatement() instead.
void clearArguments() Clears arguments of the prepared statement. Usually used after execute().
PreparedStatement & operator<<(const TQVariant &value) Appends argument value to the statement.
High-level database connectivity library with database backend drivers.
|