void test_a_db_with_a_connection_with_tables::can_update_text_attribute_bound_value() { can_insert_records(); // query all objects DB::Statement statement = connection->prepare("select id from object"); CPPUNIT_ASSERT(statement.isValid()); DB::Result result = connection->perform(statement); CPPUNIT_ASSERT(result.isValid()); long long object_id = result.getLongLong(1); // field indices start at 1 statement = connection->prepare( "update attribute_text set value=? where type=%d and object_id=%lld", 1234, object_id); CPPUNIT_ASSERT(statement.isValid()); std::string msg("testing quote ' and accents é."); CPPUNIT_ASSERT(DB::Bindings(statement).bindText(1,msg.c_str(),msg.size(),NULL)); CPPUNIT_ASSERT(connection->execute(statement)); statement = connection->prepare( "select value from attribute_text as t where t.type=%d and t.object_id=%lld", 1234, object_id); result = connection->perform(statement); CPPUNIT_ASSERT_EQUAL(std::string(result.getString(1)), msg); }
void test_a_db_with_a_connection_with_tables::can_retrieve_records() { can_insert_records(); DB::Statement statement = connection->prepare( "select value from attribute_text as t where t.type=%d", 1234); DB::Result result = connection->perform(statement); CPPUNIT_ASSERT_EQUAL(std::string(result.getString(1)), std::string("testing testing testing")); }