2010-01-15 5 views
0

J'ai des données sous forme d'entrée comme ...en vrac d'insertion Faire/updation

Data Entry Form http://img192.imageshack.us/img192/2478/inputform.jpg

Il y a quelques lignes vides et certains d'entre eux ont des valeurs. L'utilisateur peut mettre à jour les valeurs existantes et peut également remplir la valeur dans les lignes vides.

J'ai besoin de mapper ces valeurs dans ma table DB et certaines d'entre elles seront insérées en tant que nouvelles lignes dans la base de données et l'enregistrement existant sera mis à jour.

J'ai besoin de vos suggestions, Comment puis-je accomplir ce scénario avec la meilleure approche.

Merci

Répondre

1

Pour chaque ligne, je voudrais avoir une clé primaire (caché), un drapeau sale, et un nouveau drapeau. Dans la grille, vous devez définir le drapeau "dirty" sur true lorsque des modifications sont apportées. Lors de l'ajout de nouvelles lignes dans l'interface utilisateur, vous devez définir le nouveau drapeau ainsi que générer une clé primaire (ce serait plus facile si vous utilisiez des GUID pour la clé). Ensuite, lorsque vous publiez tout cela sur le serveur, vous devez insérer des insertions lorsque le nouveau drapeau est défini et des mises à jour pour ceux avec le drapeau sale.

Une fois la validation des données terminée, vous effacez simplement les nouveaux indicateurs et les nouveaux.

Bien sûr, si les données sont partagées par plusieurs contributeurs et peuvent être modifiées simultanément, il y a un peu plus d'implication si vous ne voulez pas que quelqu'un écrase les modifications d'un autre.

+0

Pourriez-vous élaborer un drapeau sale et un nouveau drapeau, comment peuvent-ils être manipulés. Je veux dire où mettre ces drapeaux et comment les gérer. Je pense que ce que vous voulez dire c'est que je dois ajouter au champ caché dirtyflag et newflag pour chaque ligne gridview? –

+0

Oui, ils pourraient être fait à travers des champs cachés. – Jacob

1

Je voudrais utiliser ADO.net DataSets et DataTables comme un magasin de sauvegarde en mémoire pour votre grille de données personnalisée. ADO.net vous permet de charger en bloc un ensemble de données hors de la base de données et de suivre les insertions, les mises à jour et les suppressions par rapport à ces données en mémoire. Une fois que vous avez terminé, vous pouvez ensuite traiter en bloc les transactions stockées dans la base de données. Le grand avantage de l'utilisation de ADO.net est que tout le code de suivi des modifications épineuses est déjà écrit pour vous et que la bibliothèque est déployée sur chaque machine compatible .net. Bien qu'il ne soit pas en vogue en ce moment, vous pouvez également envoyer des fichiers ADO.net sur le réseau en utilisant la sérialisation XML pour les modifier, puis les renvoyer pour les traiter dans la base de données.

Google autour. Il existe littéralement des milliers de livres, de didacticiels et de billets sur la façon d'utiliser ADO.net.

+0

Merci: pourriez-vous me fournir un lien de l'exemple de mise en œuvre en utilisant ADO.net. –