La Lecture De DataSet
Comment puis-je lire des données à partir d'un DataSet dans WPF? J'ai un horaire de train le tableau à 2 colonnes et je veux être en mesure de lire les horaires de départ et calculer quand le prochain train part. Par exemple, le temps est maintenant à 12:29 et mon application devrait me dire que le prochain train partira à 12:33.
J'ai déjà googlé de gauche et de droite. Je suis sur .NET 3.5.
- La question principale ici est la suivante: OÙ êtes-vous la lecture de cet ensemble de données? Dans le code? en XAML? Dans un datagrid? Dans un listview?
- Si une réponse répond à votre question, vous devez marquer comme la accepté de répondre.
Vous devez vous connecter pour publier un commentaire.
DataSet ressemble à de la base de données. DataTable ressemble à table de base de données, et DataRow ressemble à un enregistrement dans une table. Si vous souhaitez ajouter le filtrage des options de tri, vous de le faire avec un DataView objet, et de la convertir vers un autre DataTable objet.
Si vous utilisez la base de données pour stocker vos données, alors vous devez d'abord charger une table de base de données à un DataSet objet en mémoire. Vous pouvez charger plusieurs tables de base de données à un DataSet, et sélectionnez le tableau à lire à partir de la DataSet par DataTable objet. Par la suite, vous avez lu une ligne spécifique de données à partir de votre DataTable par DataRow. Codes suivants illustrent les étapes:
À lire d'une cellule spécifique dans une rangée:
using System.Data;
déclaration.Si ds est le jeu de données, vous pouvez accéder au code client colonne de la première ligne de la première table avec quelque chose comme:
Un ensemble de données est une copie des données accessibles à partir d'une base de données, mais ne nécessite même pas d'une base de données à utiliser à tous. Il est préférable, cependant.
Noter que si vous créez une nouvelle application, pensez à utiliser un ORM, tels que le Cadre de l'Entité ou NHibernate, depuis les jeux de données sont plus privilégiées; cependant, ils sont toujours pris en charge et pour autant que je peux dire, ne vont pas disparaître de sitôt.
Si vous êtes à la lecture de la norme dataset, puis @KMC la réponse est ce que vous cherchez. La bonne façon de le faire, cependant, est de créer un Fort DataSet Typé et utiliser de sorte que vous pouvez prendre avantage de l'Intellisense. En supposant que vous n'êtes pas en utilisant Entity Framework, continuer.
Si vous n'en avez pas déjà un espace dédié pour votre couche d'accès aux données, tel qu'un projet ou un dossier App_Data, je vous suggère de créer un maintenant. Sinon, procédez comme suit dans votre projet de données de dossier:
Ajouter > Ajouter un Nouvel Élément > jeu de données. Le fichier créé sera un .xsd extension.
Vous aurez besoin de créer une DataTable. Créer un DataTable (cliquez sur le fichier, puis cliquez droit sur la fenêtre de conception - le fichier a une .xsd extension et cliquez sur Ajouter > DataTable). Créer des colonnes (clic Droit sur la table de données que vous venez de créer > Ajouter > Colonne). Enfin, vous aurez besoin d'un adaptateur pour accéder aux données. Vous aurez besoin de configurer une connexion à votre base de données pour accéder aux données référencées dans le jeu de données.
Après vous avez terminé, après le succès du référencement de l'ensemble de données dans votre projet (à l'aide de la déclaration), vous pouvez accéder au jeu de données avec intellisense. Cela le rend beaucoup plus simple que d'ensembles de données non typées.
Lorsque cela est possible, utilisez Fortement Typés au lieu de typée ceux. Même si c'est plus de travail pour créer, il finit par sauver beaucoup de temps plus tard avec intellisense. Vous pourriez faire quelque chose comme:
L'exemple ci-dessus suppose que votre Fortement DataSet Typé a une colonne de type DateTime nommé NextTrainDepartureTime. Espérons que ça aide!
Si c'est à partir d'un Serveur SQL server datebase vous pourriez envisager de publier ce genre de requête...
GetDate()
pourrait aussi être utilisé, pas sûr de la façon dont les dates sont stockées.Je ne suis pas sûr de savoir comment les données sont stockées et/ou de lire.