kyoku59
Messages postés54Date d'inscriptionvendredi 23 mai 2008StatutMembreDernière intervention21 septembre 2018
-
Modifié le 13 sept. 2018 à 13:39
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023
-
21 sept. 2018 à 08:19
Bonjour,
Je dois m’emmêler les pinceaux et comme je n'avance pas, je demande votre aide XD
J'utilise un fichier dataset ou je charge mes données depuis SQLite.
J'arrive à en créer une nouvelle mais pas à mettre à jour une ligne précise.
Il me manque une commande pour pouvoir faire la même chose dans ma base SQLite ou alors j'ai oublié une étape...
J'ai en tête une commande comme pour SQL Serveur en utilisant LINQ (context.saveChange)
Si quelqu'un peu me mettre sur la bonne voix ça serait top.
Merci
ps : je n'ai pas forcément bien choisi mes noms de variable :/
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023624 13 sept. 2018 à 21:24
Bonjour
je suis peu adepte des bases de données, mais de Linq oui, donc quand j'ai dû utiliser une base SQlite, j'ai utilisé le package Nuget sqlite-net qui prend directement Linq en charge.
Attention cependant, pour une obscure raison, la requête différée de marche pas. Il faut forcer avec ToList() par exemple.
connection = new SQLiteConnection(Chemin);
List<UneClasse> collection = (from r in connection.Table<AutreClasse>().ToList()//si pas ToList, ça marche pas
where //.......
select new UneClasse
{
.........
}).ToList();
kyoku59
Messages postés54Date d'inscriptionvendredi 23 mai 2008StatutMembreDernière intervention21 septembre 2018 14 sept. 2018 à 05:54
Le problème c'est que je travail sur une version Microsoft Visual Studio 2010 et ce package n'est pas dispo :(
J'ai beau chercher mais aucun moyen de mettre une ligne à jour en une ou 2 lignes. Du coup j'ai dans l'idée de supprimer la ligne et de la recréer avec les bons champs... C'est pas du jolie mais bon.
Ou alors écrire un paquet de ligne avec tout le tralala (connecteur, commande etc) pour faire cette modif.
J'me tâte.
En tout cas merci pour le tuyau, j'le garde de côté pour chez moi.
--
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023624 14 sept. 2018 à 07:11
Si tu ne peux pas l’installer via nuget, il existe sur github
kyoku59
Messages postés54Date d'inscriptionvendredi 23 mai 2008StatutMembreDernière intervention21 septembre 2018 14 sept. 2018 à 07:51
Compliqué a installé mais c'est une chose faite.
Dans ton exemple,
List<UneClasse> collection
je dois préalablement créer une classe en référence à ma table ?
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023624 14 sept. 2018 à 08:16
Ils utilisent le mode asynchrone, mais ça marche aussi en synchrone. Dans mon projet, je n’ai pas énormément de données alors je ne me suis pas « embêté » avec les thread
kyoku59
Messages postés54Date d'inscriptionvendredi 23 mai 2008StatutMembreDernière intervention21 septembre 2018 14 sept. 2018 à 08:22
Yes merci c'est ce qu'il me fallait pour comprendre.
Effectivement je dois créer une classe par table.
Pour moi ça ne marchais pas car j'avais une ligne qui rechargé mon dataset avant modif....
Bref erreur toute bête.
@Whismeril, j'ai étudié ta solution mais tournant sous Visual Studio 2010 je suis très très limité et pour contourner les manquants comme la gestion de ASYNC c'est une horreur.
Pour info, je linq sans problème en SQLite grâce à mon dataset.
Merci !
--
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023624 Modifié le 21 sept. 2018 à 08:20
Ce qui compte c’est que tu aies trouvé une solution.
Pense à marquer le sujet résolu avec la roue dentée tout en haut du fil.