static void nativeExecute(JNIEnv* env, jclass clazz, jlong connectionPtr,
        jlong statementPtr) {
    SQLiteConnection* connection = reinterpret_cast<SQLiteConnection*>(connectionPtr);
    sqlite3_stmt* statement = reinterpret_cast<sqlite3_stmt*>(statementPtr);

    executeNonQuery(env, connection, statement);
}
示例#2
0
int command::executeUpdateByParameter(PCWSTR ptable, PCWSTR pwhere)
{
	assert(ptable && m_vecParameter.size() > 0);
	std::wstring wsUpdates, wssql(L"UPDATE "), wstr, wsWhere(pwhere);
	for (parameter::ArrayType::iterator iter = m_vecParameter.begin(); iter != m_vecParameter.end(); ++iter)
	{
		wsUpdates += (*iter)->getName() + L"=@" + (*iter)->getName();
		if (iter != m_vecParameter.end()-1)
		{
			wsUpdates += L",";
		}
	}
	wssql += ptable;
	wssql += L" SET " + wsUpdates;
	// 
	gtc::stringUtil::trimLeft(wsWhere);
	//gtc::convert::trimLeft(wsWhere);
	wstr = wsWhere;
	//gtc::convert::toUpper(wstr);
	gtc::stringUtil::toUpper(wstr);
	if(wstr.length() > 6 && wstr.substr(0, 6) == L"WHERE ")
		wssql += L" " + wsWhere;
	else
		wssql += L" WHERE " + wsWhere;

	return executeNonQuery(wssql);;
}
static jint nativeExecuteForChangedRowCount(JNIEnv* env, jclass clazz,
        jlong connectionPtr, jlong statementPtr) {
    SQLiteConnection* connection = reinterpret_cast<SQLiteConnection*>(connectionPtr);
    sqlite3_stmt* statement = reinterpret_cast<sqlite3_stmt*>(statementPtr);

    int err = executeNonQuery(env, connection, statement);
    return err == SQLITE_DONE ? sqlite3_changes(connection->db) : -1;
}
static jlong nativeExecuteForLastInsertedRowId(JNIEnv* env, jclass clazz,
        jlong connectionPtr, jlong statementPtr) {
    SQLiteConnection* connection = reinterpret_cast<SQLiteConnection*>(connectionPtr);
    sqlite3_stmt* statement = reinterpret_cast<sqlite3_stmt*>(statementPtr);

    int err = executeNonQuery(env, connection, statement);
    return err == SQLITE_DONE && sqlite3_changes(connection->db) > 0
            ? sqlite3_last_insert_rowid(connection->db) : -1;
}
示例#5
0
int command::executeInsertByParameter(PCWSTR ptable)
{
	assert(ptable && m_vecParameter.size() > 0);
	std::wstring wsFields, wsValues, wssql(L"INSERT INTO ");
	for (parameter::ArrayType::iterator iter = m_vecParameter.begin(); iter != m_vecParameter.end(); ++iter)
	{
		wsFields += (*iter)->getName();
		wsValues += L"@" + (*iter)->getName();
		if (iter != m_vecParameter.end()-1)
		{
			wsFields += L",";
			wsValues += L",";
		}
	}
	wssql += ptable;
	wssql += L"(" + wsFields + L") VALUES(" + wsValues + L")";

	return executeNonQuery(wssql);
}
示例#6
0
bool StageInfo::deleteTableStageInfo(){
	return executeNonQuery(getDeleteTableQuery());
}
示例#7
0
bool StageInfo::updateStageInfo(){
	return executeNonQuery(getUpdateQuery());
}
示例#8
0
bool StageInfo::insertStageInfo(){
	return executeNonQuery(getInsertQuery());
}