Retour Résultat de la Requête Select dans une procédure stockée à une Liste
Je suis en train d'écrire une procédure stockée qui contient seulement un SELECT
requête. Il sera étendu à faire un certain nombre d'autres choses, c'est pourquoi il doit être une procédure stockée, mais pour l'instant, c'est une simple requête.
Quelque chose comme ceci:
SELECT name, occupation, position
FROM jobs
WHERE ...
Je suis à la recherche pour retourner les résultats de cette requête pour être utilisé en C#. Je veux l'ajouter à une liste de sorte que je peux le lier à un GridView composant.
Je ne sais pas comment aller à ce sujet, cependant. Si je dois l'insérer dans une liste après le retour de toutes les données sélectionnées, alors c'est bien, j'ai juste besoin de savoir comment retourner correctement les données, de sorte que je peux le faire.
Si je peux le retourner dans un format qui peut être sauté à droite dans une liste, même si, ce serait idéal.
- Pourquoi a-t-il une liste? De retour d'une norme ADO.NET composant (DataTable, DataReader) et de lier votre grille à elle. Il y a beaucoup de tutoriels en ligne comment faire cela. E. g. ne google.com/search?q=C%23+ADO.NET+GridView+Bind vous allez voir beaucoup de choses comme java2s.com/Code/ASP/ADO.net-Database/...
- Que serait une bien meilleure solution! Je regarde comment faire pour le retour de ces lignes de la procédure stockée si. Sauriez-vous comment faire?
- Il suffit de regarder l'exemple, dans le deuxième lien c'est exactement ce qu' - ouvre la connexion, récupère les données et le lie à un GridView1. Il utilise la requête SELECT, mais, il est facilement réglable pour gérer la procédure stockée.
- Oui, je veux dire dans le code de Procédure Stockée lui-même. Je ne sais pas si je suis censé utiliser un RETOUR sur la requête sélection en quelque sorte, ou ... je n'arrive pas à en trouver un.
- Non, si vous voulez retourner plusieurs lignes (pas une seule valeur) la dernière commande dans votre Procédure Stockée doit être un SELECT - que le résultat serait le renvoi de code C#.
Vous devez vous connecter pour publier un commentaire.
Dans une procédure stockée, vous avez juste besoin d'écrire la requête de sélection comme ci-dessous:
Sur C#, côté, vous pouvez accéder à l'aide de Lecteur, datatable, adaptateur.
À l'aide de l'adaptateur a juste expliqué par Susanna Floora.
À L'Aide De Lecteur:
À l'aide de dataTable:
J'espère que ça va vous aider. 🙂
reader.Close()
, parfois ouvrir lecteur causes des exceptions dans le code suivant.J'ai eu la même question, m'a pris les âges pour trouver un simple solution.
À l'aide de ASP.NET MVC 5 et EF 6:
Lorsque vous ajoutez une procédure stockée pour votre
.edmx
modèle, le résultat de la procédure stockée sera livré via une auto-généré objet appeléyourStoredProcName_result
.Ce
_result
objet contient le attributs correspondant aux colonnes dans la base de données que votre procédure stockée sélectionné.La
_result
classe peut être simplement converti en une liste:Obtenu Paramètres?
Peut-être cela va aider:
L'obtention de lignes de DB:
Remplissage DataGridView de DataRowCollection :
Mise en œuvre :