SqlCommand ou SqlDataAdapter?
Je suis de créer quelque chose comme une petite caisse de l'application qui garde en mémoire pour les clients, les employés, les services, les ventes et les rendez-vous. Je suis l'aide de windows forms, et, dans ce Datagrid. J'ai créé la base de données que je vais utiliser pour l'application. Je veux savoir si je dois utiliser SqlCommand-SqlDataReader ou SqlDataAdapter DataSet à la place. L'approche qui est mieux?
double possible de SqlDataAdapter vs SqlDataReader
Double Possible de SqlDataAdapter vs SqlDataReader
Double Possible de SqlDataAdapter vs SqlDataReader
OriginalL'auteur user990692 | 2011-12-27
Vous devez vous connecter pour publier un commentaire.
C'est fortement dépendre du type d'opération que vous souhaitez.
Qui suit est mon suggetion.
Si vous souhaitez lire les données plus rapide pour aller SQLDataReader mais qui vient que le coût de l'opération, vous devez prendre
au cours lire la suite également.
Ouvrir La Connexion
Lire Les Données
Fermeture De La Connexion. Si vous avez oublié de fermer qu'il sera frappé de la performance.
Aller pour SQLDataAdapter
Utiliser SQLCommand ( Cela vient aussi quand vous lisez SQLDataReader pour lire les données) et pour l'insertion et la mise à jour.
Si vous êtes en utilisant .Cadre NET 3.5 sp1 ou plus tard, je suggère de Linq to SQL ou Entity Framework serait également
résoudre votre problème.
Grâce.
OriginalL'auteur dotnetstep
SqlDataAdapter
consomme plus de mémoire.
connecté à votre base de données sur
insert/delete/update/select
commande.qu'.
Toutes les bonnes choses de
SqlDataAdapter
venir à un coût de plus de consommation de mémoire. Il est généralement utilisé pour les systèmes qui ont besoin de plusieurs utilisateurs connectés à la base de données.Donc, je dirais que si ce n'est pas votre situation aller pour SqlCommand et le modèle connecté.
OriginalL'auteur atoMerz
Si vous êtes juste en train de lire les données et de ne pas faire de mises à jour/insertions/suppressions, puis
SqlDataReader
sera plus rapide. Vous pouvez aussi le combiner avec unDataSet
. Si vous enchaînez les objets d'accès aux données avecusing
états, l'exécution va gérer la connexion logique de nettoyage pour vous.Un modèle que j'ai souvent utiliser pour un accès synchrone est quelque chose comme ceci:
Pour les mises à jour/delete/insert, une
SqlDataAdapter
pourrait être intéressant d'envisager, mais en général seulement si vous avez déjà vos données dans unDataSet
. Sinon, il y a de plus rapide/de meilleures façons de faire les choses.OriginalL'auteur RickNZ
Si vous êtes conscient de ces composants (Base ADO.NET) (Commande,de Connexion, DataAdapter), alors je vous suggère de
Entity Data Model
ouLinq-SQL
.SqlDataAdapter
est la classe helper qui utilise implicitementSqlCommand
,SqlConnection
etSqlDataReader
.OriginalL'auteur adatapost
OriginalL'auteur smartyhunter
Commande SQL est plus Facile, mais n'est pas Automatisée. De Données SQL Adaptateur est Moins facile, mais Automatisés.
*Automatisé signifie qu'il gère l'ouverture et la fermeture d'un serveur, etc. automatiquement.
Les deux actions les mêmes fonctionnalités sur les Données
OriginalL'auteur Teco