sql >> Databáze >  >> RDS >> Mysql

Kterou funkci spuštění bych měl použít v konektoru MySQL/c++?

Každá ze tří funkcí má specifické použití, které lze odhadnout z jejich návratového typu.

provést

Tato funkce je nejobecnější. Vrací booleovskou hodnotu, jejíž hodnota je true, pokud dotaz vrací více výsledků, nebo false, pokud dotaz nevrací nic nebo počet aktualizací.

Toto je funkce, kterou budete chtít použít, pokud chcete použít pouze jednu, aby byla co nejobecnější.

Pokud vrátí hodnotu true, budete chtít použít ResultSet * getResultSet() k získání výsledků.
Pokud vrátí hodnotu false, budete chtít použít uint64_t getUpdateCount() získat počet aktualizovaných řádků.

executeQuery

Tato funkce přímo vrací ResultSet což je užitečné pro SELECT a předpokládá, že skutečně existuje sada výsledků, která má být vrácena.

Je to ekvivalentní volání execute() následuje getResultSet() .

Tuto funkci budete chtít použít, když víte, že používáte kód SQL, který vrací výsledky, jako jsou řádky.

executeUpdate

Tato funkce vrací celočíselnou hodnotu, která je užitečná pro UPDATE a předpokládá, že je vrácen počet aktualizací.

Je to ekvivalentní volání execute() následuje getUpdateCount() , i když z nějakého důvodu jsou návratové typy odlišné (int vs uint64_t).

Toto je funkce, kterou lze použít při provádění příkazů SQL, které upravují data a potřebujete vědět, zda byla některá data změněna.

Takže,

ten sjednocený je ve skutečnosti execute , který lze použít ke spuštění libovolného SQL a odpovídajícímu zpracování výsledku, zatímco dva další jsou vhodné obaly, když víte, jaký druh dotazu provádíte.

Ve vašem případě, protože píšete obal kolem jazyka SQL, každá z vašich funkcí ví, jaký druh příkazu provede, takže použití funkcí pro pohodlí vám umožní psát kratší kód.

Například:

insert(), update(), delete() ---> executeUpdate()
select()                     ---> executeQuery()



  1. Jak získat rozdíl mezi dvěma řádky pro sloupcové pole?

  2. Odfiltrování dotazů MySQL v PHP

  3. Chci uživateli přidělit oprávnění k zobrazení tabulky EMP

  4. Hodnota null v parametru varbinary datový typ