Difference between revisions of "Mysqlsel"

From Base de connaissances eggdrops & TCL
Jump to: navigation, search
(Page créée avec « Catégorie:Langage Tcl Catégorie:MysqlTcl '''mysqlsel''' permet d'exécuter une requête SELECT dans une base de données. =Alias= <code tcl>::mysql::sel</code> =Syn... »)
 
Line 16: Line 16:
 
* Si la requête n'est pas un SELECT, mysqlsel retourne -1 ou une liste vide si l'option ''-list'' ou ''-flatlist'' est indiquée.
 
* Si la requête n'est pas un SELECT, mysqlsel retourne -1 ou une liste vide si l'option ''-list'' ou ''-flatlist'' est indiquée.
 
* chaque fois que cette commande est utilisée, elle efface les résultats des précédentes requêtes (le recordset).
 
* chaque fois que cette commande est utilisée, elle efface les résultats des précédentes requêtes (le recordset).
 +
=Exemples d'utilisation=
 +
<source lang=tcl>::mysqlsel $db "SELECT ID, NAME FROM FRIENDS" -list
 +
{1 Joe} {2 Phil} {3 John}</source>
 +
<source lang=tcl>::mysqlsel $db "SELECT ID, NAME FROM FRIENDS" -flatlist
 +
{1 Joe 2 Phil 3 John}</source>
 +
Notez que ces deux exemples sont bien plus rapides que:
 +
<source lang=tcl>::mysqlsel $db "SELECT ID, NAME FROM FRIENDS"
 +
::mysqlmap $db {id name} {lappend result $id $name}
 +
set $result
 +
{1 Joe 2 Phil 3 John}</source>
 
=Voir aussi=
 
=Voir aussi=
 
[[mysqlconnect]], [[mysqluse]], [[mysqlclose]], [[mysqlfetch]], [[mysqlresult]], [[mysqlseek]], [[mysqlnext]]
 
[[mysqlconnect]], [[mysqluse]], [[mysqlclose]], [[mysqlfetch]], [[mysqlresult]], [[mysqlseek]], [[mysqlnext]]

Revision as of 11:46, 16 December 2012

mysqlsel permet d'exécuter une requête SELECT dans une base de données.

Alias

::mysql::sel

Syntaxe

mysqlsel ''handle sql-statement ?-list|-flatlist?''

Paramètres

  • handle : l'handle (identifiant de connexion) obtenu après avoir effectué un mysqlconnect
  • sql-statement : la requête à exécuter

Options

  • -list : le résultat de la requête est envoyé dans une liste dont chaque élément est une ligne du résultat
  • -flatlist : le résultat de la requête est concaténé dans une seule liste plate, très pratique à utiliser dans une boucle foreach

Si la requête est un SELECT et que ni l'option -list ni l'option -flatlist n'est spécifiée, la commande retourne le nombre de lignes retournées comme résultat de la requête. Les lignes peuvent être obtenues par mysqlfetch et/ou par mysqlmap.

Particularités

  • Si la requête n'est pas un SELECT, mysqlsel retourne -1 ou une liste vide si l'option -list ou -flatlist est indiquée.
  • chaque fois que cette commande est utilisée, elle efface les résultats des précédentes requêtes (le recordset).

Exemples d'utilisation

::mysqlsel $db "SELECT ID, NAME FROM FRIENDS" -list
{1 Joe} {2 Phil} {3 John}
::mysqlsel $db "SELECT ID, NAME FROM FRIENDS" -flatlist
{1 Joe 2 Phil 3 John}

Notez que ces deux exemples sont bien plus rapides que:

::mysqlsel $db "SELECT ID, NAME FROM FRIENDS"
::mysqlmap $db {id name} {lappend result $id $name}
set $result
{1 Joe 2 Phil 3 John}

Voir aussi

mysqlconnect, mysqluse, mysqlclose, mysqlfetch, mysqlresult, mysqlseek, mysqlnext