4 votes

Ecrire des requêtes dans le code vs. SqlDataSource

J'ai toujours eu cette idée que l'écriture de requêtes SQL dans le code n'est pas bonne comparée à l'écriture de requêtes à l'aide d'une source de données SQL.

SqlDataAdapter ad = new SqlDataAdapter("SELECT * FROM Categories", myConnection);

DataSet ds = new DataSet();

ad.Fill(ds, "Categories");

myGridView.DataSource = ds;

myGridView.DataBind();

vs.

<asp:SqlDataSource ID="SqlDataSource1" runat="server"
  ConnectionString="<%$ ConnectionStrings:myConnection %>"
  SelectCommand="SELECT * FROM Categories" />

Je pense que l'utilisation de SqlDataSource est sûre et facile à maintenir. Mon inquiétude est-elle fondée ? Veuillez justifier.

0voto

Rich M Points 109

Les contrôles DataSource sont parfaits pour la plupart des choses. Ils prennent en charge la pagination dans les grilles et la mise en cache côté serveur, ce qui permet d'éviter les déplacements vers la base de données. Cependant, l'inconvénient est que si vous faites quelque chose de compliqué avec des transactions de base de données, vous ne pourrez pas utiliser une transaction sur plus d'une source de données SQL, du moins pas facilement.

à cause du pooling, deux sources de données peuvent avoir des connexions différentes et il n'y a pas de moyen facile d'assigner l'objet de la transaction avant que les commandes ne soient exécutées.

0voto

user2618619 Points 1

J'ai utilisé SQLDataSources pour remplir une grille, en ayant besoin d'une requête simple. L'utilisation d'une procédure stockée au lieu de placer la requête directement dans la source de données SQL résout le problème de la réutilisation. Les exemples de T

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X