Salut tout le monde,

Je voudrais savoir quel est la meilleure méthode pour un faire un script.

Je veux executer tous ces requtes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
LOCK TABLE nested_category WRITE;
 
SELECT @myLeft := lft FROM nested_category
 
WHERE name = '2 WAY RADIOS';
 
UPDATE nested_category SET rgt = rgt + 2 WHERE rgt > @myLeft;
UPDATE nested_category SET lft = lft + 2 WHERE lft > @myLeft;
 
INSERT INTO nested_category(name, lft, rgt) VALUES('FRS', @myLeft + 1, @myLeft + 2);
 
UNLOCK TABLES;
Actuellement je fais une requete de cette façon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
                DbCommand cmSQL = _dtBase.GetSqlStringCommand("SELECT parent.name, COUNT(product.name) "+
                                                          "FROM nested_category AS node , "+
                                                          "nested_category AS parent, "+
                                                          "product "+
                                                          "WHERE node.lft BETWEEN parent.lft AND parent.rgt "+ 
                                                          "AND node.category_id = product.category_id "+
                                                          "GROUP BY parent.name "+
                                                          "ORDER BY node.lft");
            _dtBase.AddInParameter(cmSQL, "@Name", DbType.String, Name);
 
            using (IDataReader dtReader = _dtBase.ExecuteReader(cmSQL))
            {
                while (dtReader.Read())
                {
                    Node node = new Node(0, (UInt32)dtReader.GetInt32(1), dtReader.GetString(0));
                    nodes.Add(node);
                }
            }
Dois-je faire autant de "ExecuteReader" "ExecuteScalar" que de requetes ?
Il n'existe pas une méthode plus simple et efficace ?


Merci d'avance pour votre aide