簡體   English   中英

ASP.Net和存儲過程的連接

[英]ASP.Net and Stored Procedures Connection

是我第一次使用ASP.Net嗎?

我創建了一個存儲過程,現在我想將此存儲過程放在GridView中並進行連接,我的問題是由於StatementType,我不怎么為該存儲過程建立連接。 當我選擇,更新選擇或刪除我的StatementType時,請執行正確的操作。 我的問題是我必須在文本框Gridview中進行連接嗎?

我的存儲過程:

CREATE PROCEDURE SP_Employees 
    (@EmployeeID INT,
     @EmployeeName VARCHAR(255),
     @EmployeeUsername VARCHAR(255),
     @EmployeeEmail VARCHAR(255),
     @GroupID INT,
     @Password VARCHAR(255),
     @StatementType NVARCHAR(20) = ''
    ) 
AS 
BEGIN
    IF @StatementType = 'INSERT'
    BEGIN
        INSERT INTO [Employees]([EmployeeID], [EmployeeName], [EmployeeUsername], [EmployeeEmail], [GroupID], [Password])
        VALUES (@EmployeeID, @EmployeeName, @EmployeeUsername, @EmployeeEmail, @GroupID, @Password);
    END
    ELSE IF @StatementType = 'SELECT'
    BEGIN
        SELECT *
        FROM [Employees];
    END
    ELSE IF @StatementType = 'Update'
    BEGIN
        UPDATE [Employees]
        SET [EmployeeName] = @EmployeeName,
            [EmployeeUsername] = @EmployeeUsername,
            [EmployeeEmail] = @EmployeeEmail,
            [GroupID] = @GroupID,
            [Password] = @Password
        WHERE
            [EmployeeID] = @EmployeeID;
    END
    ELSE IF @StatementType = 'DELETE'
    BEGIN
        DELETE FROM [Employees]
        WHERE [EmployeeID] = @EmployeeID;
    END;
END

易於使用GridView的整個想法是,您根本不需要存儲過程。

如果您的DBA僅允許您訪問使用存儲過程,則可以指定自定義的SelectMethod,UpdateMethod和DeleteMethod,然后手動映射從GridView獲得的值以調用您的存儲過程,但這是執行GridView所需的漫長路線已經為您輕松完成。

    // The id parameter name should match the DataKeyNames value set on the control
    public void EmployeeTable_UpdateItem(int id)
    {
        InvMS.Models.Employee item = null;
        // Load the item here, e.g. item = MyDataLayer.Find(id);
        if (item == null)
        {
            // The item wasn't found
            ModelState.AddModelError("", String.Format("Item with id {0} was not found", id));
            return;
        }
        TryUpdateModel(item);
        if (ModelState.IsValid)
        {
            // Create a connection to your database here, 
            // Map the attributes to your stored procedure and call the procedure
        }
    }

    // The id parameter name should match the DataKeyNames value set on the control
    public void EmployeeTable_DeleteItem(int id)
    {

    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM