L'API Web pour appeler la Procédure stockée et Résultat de retour
Je suis en train de créer une API qui accepte deux paramètres d'entrée appelé ACC. Créé une procédure stockée pour insérer ou de mettre à jour le Compte de la table dans SQL server. Table des comptes a tout juste deux champs AccountID de type nvarchar(50) (primaryKey) et de la Cnt int
CREATE PROCEDURE [dbo].[usp_InserUpadte]
@Account_TT AS Account_TT READONLY
AS
BEGIN
SET NOCOUNT ON;
BEGIN TRANSACTION;
MERGE dbo.[Account] prj
USING @Account_TT tt
ON prj.AccountID = tt.AccountID
WHEN MATCHED THEN UPDATE SET prj.Cnt = prj.Cnt+1
WHEN NOT MATCHED THEN INSERT (AccountID,Cnt)
VALUES (tt.AccountID, 1);
COMMIT TRANSACTION;
Maintenant, j'ai essayé de vous connecter à SQL server n'est pas sûr de savoir comment pourrais-je appeler la procédure stockée dans la ASP.NET l'API Web de l'application et de passer l'ID de Compte à créer ou updadte la table
namespace WebService.Controllers
{
public class CreationController : ApiController
{
[HttpGet]
public HttpResponseMessage Get(string ACC)
{
string strcon = System.Configuration.ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString;
SqlConnection DbConnection = new SqlConnection(strcon);
Je sais que nous pouvons appeler la requête directement comme
var strQuery = "SELECT * from ACCOUNT where ACC = :ACC"
Mais ne sais pas comment appeler le au-dessus d'une procédure stockée et passer à la Valeur de Compte. Toute aide est grandement appréciée.
- Vous souhaitez passer
Account_TT
table à votre magasin de procédure comme paramètre? - Merci @Saadi mais je ne sais pas comment appeler la procédure Stockée à l'intérieur de mon application
- Regarde sur ce lien s'il vous plaît: stackoverflow.com/questions/4259989/...
- J'ai créé le Compte de la table avec deux champs AccountID de type nvarchar(50) (primaryKey) et de la Cnt int. et j'essaie d'exécuter votre magasin de la procédure de requête, mais il n'est pas en cours d'exécution.
- Avez-vous créer un tableau tapez Account_TT ?
- S'il vous plaît partager requête pour tableau tapez Account_TT.
- -- Créer le type de données
CREATE TYPE Account_TT AS TABLE ( AccountID nvarchar(50) ) GO
- Ok. J'ai posté ma réponse.
- Laissez-nous continuer cette discussion dans le chat.
Vous devez vous connecter pour publier un commentaire.
Ici est l'exemple.
S'il vous plaît avoir un oeil sur elle.
Pour appeler une procédure stockée, vous devez utiliser un
SqlCommand
quelque chose comme ceci: