Salut tout le monde,
Je voudrais savoir quel est la meilleure méthode pour un faire un script.
Je veux executer tous ces requtes :
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 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;
Dois-je faire autant de "ExecuteReader" "ExecuteScalar" que de requetes ?
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); } }
Il n'existe pas une méthode plus simple et efficace ?
Merci d'avance pour votre aide
Partager