Bonjour
Je tourne en carré depuis un moment et je cherche une piste pour mon problème.
Je crée une base MySQL à partir d'une base SQLite.
La première table est chargée depuis SQLite avec un TFDTable et pour chaque ligne, j'ai une requête d'insert dans la table MySQL (créée par un script en début de procédure, donc vierge de données).
Dans mon code, je débute une transaction, puis je transfère ligne à ligne.
Après avoir créé et rempli ma table, je commit ma transaction puis je fais un select count(*) pour voir combien j'ai récupéré de lignes.
Et là, résultat = 0.
Je vais dans workbench, je fais la même requête et j'ai bien un peu plus de 1000 lignes.
Sur ce constat, je me dis qu'après avoir commité ma transaction, je vais fermer et réouvrir ma connexion pour forcer mon composant à trouver les données.
Mais là, c'est pareil.
R vaut 0 . Alors que la table est bien remplie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 FDCnxmysql.Close; FDCnxmysql.Open; R := FDCnxmysql.ExecSQLScalar(Format('select count(*) from `%s`', [TblSrc.TableName])); Memo1.Lines.Add(Format('Table %s = %d', [TblSrc.TableName, R]));
Est-ce que je peux faire quelque chose de plus pour trouve mes lignes ?
Recréer un composant TFDConnection différent ?
Partager