Web-API für den Aufruf der gespeicherten Prozedur und Ergebnis zurückgeben

Ich bin erstellen einer Web-API, die akzeptiert zwei Eingabeparameter namens ACC. Erstellt eine gespeicherte Prozedur zum einfügen oder aktualisieren Sie die Konto-Tabelle in den SQL-server. Konto-Tabelle hat nur zwei Felder AccountID nvarchar(50) (Primärschlüssel) und 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;

Nun versuchte ich eine Verbindung zu SQL server nicht sicher ist, wie wie würde ich rufen Sie die gespeicherte Prozedur in der ASP.NET Web-API-Anwendung und die Konto-ID zu erstellen oder updadte die Tabelle

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);

Ich weiß, wir können rufen Sie die Abfrage direkt, wie

var strQuery = "SELECT * from ACCOUNT where ACC = :ACC"

Aber nicht wissen, wie aufrufen, die oben gespeicherte Prozedur und übergeben Sie die Rechnung Wert. Jede Hilfe wird sehr geschätzt.

  • Sie wollen pass Account_TT - Tabelle gespeicherten Prozedur als parameter?
  • Danke @Saadi, aber ich weiß nicht, wie Sie rufen Sie die Gespeicherte Prozedur in meine Anwendung
  • Schauen Sie auf diesen link, bitte: stackoverflow.com/questions/4259989/...
  • Ich habe Account erstellt Tabelle mit zwei Feldern AccountID nvarchar(50) (Primärschlüssel) und Cnt. int. und ich versuche, führen Sie die Prozedur speichern-Abfrage, aber es nicht ausführen.
  • Hast du einen TableType Account_TT ?
  • Bitte teilen Abfrage für TableType Account_TT.
  • -- Erstellen der Datentyp CREATE TYPE Account_TT AS TABLE ( AccountID nvarchar(50) ) GO
  • Ok. Ich habe meine Antwort.
  • Lassen Sie uns weiter, diese Diskussion im chat.

InformationsquelleAutor trx | 2016-12-21
Schreibe einen Kommentar