[英]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.