Всяка от трите функции има специфична употреба, която може да се познае от техния тип на връщане.
изпълни
Тази функция е най-общата. Връща булева стойност, която стойност е истина, ако заявката връща множество резултати, или невярно, ако заявката не връща или нищо, или връща брой актуализации.
Това е функцията, която ще искате да използвате, ако искате да използвате само една, за да бъде възможно най-генерична.
Ако върне true, ще искате да използвате ResultSet * getResultSet()
за да получите резултатите.
Ако върне false, ще искате да използвате uint64_t getUpdateCount()
за да получите броя на актуализираните редове.
executeQuery
Тази функция директно връща ResultSet
което е полезно за SELECT
изрази и предполага, че наистина има резултатен набор, който да бъде върнат.
Това е еквивалентно на извикването на execute()
последвано от getResultSet()
.
Ще искате да използвате тази функция, когато знаете, че използвате SQL код, който връща резултати като редове.
executeUpdate
Тази функция връща целочислена стойност, която е полезна за UPDATE
изрази и предполага, че има връщан брой актуализации.
Това е еквивалентно на извикването на execute()
последвано от getUpdateCount()
, въпреки че по някаква причина връщаните типове са различни (int спрямо uint64_t).
Това е функцията, която трябва да използвате, когато изпълнявате SQL изрази, които променят данни и трябва да знаете дали някои данни са били променени.
И така,
унифицираният всъщност е execute
, който може да се използва за изпълнение на произволен SQL и подходящо обработване на резултата, докато другите два са удобни обвивки, когато знаете какъв вид заявка изпълнявате.
Във вашия случай, тъй като пишете обвивка около езика SQL, всяка от вашите функции знае кой вид оператор ще изпълни, така че използването на функциите за удобство ще ви позволи да пишете по-кратък код.
Например:
insert(), update(), delete() ---> executeUpdate()
select() ---> executeQuery()