【发布时间】:2020-01-07 15:38:12
【问题描述】:
无法将我需要输出的值 ID 值返回到表单中的文本框。网络表单和 ADO.net
我尝试将参数标识添加为 int 和 OUT 子句,同时设置 identity = scope_identity 并返回值,然后使用我的团队当前用于 ExecuteNonQuery 的模式,匿名参数类传入值并尝试传递 @ id 的 textbox.text 的标识值。
DataManager.Db.ExecuteNonQuery("DefaultConnection", "usp_CreateNewSalesTerritory",
new SqlParameter("@orgId", orgId),
new SqlParameter("@identity", salesTerritoryIdTextBox.Text),
new SqlParameter("@salesTerritoryName", salesTerritories.Name),
new SqlParameter("@createdBy", salesTerritories.CreatedBy),
new SqlParameter("@createdDate", salesTerritories.CreatedDate),
new SqlParameter("@updatedBy", salesTerritories.UpdatedBy),
new SqlParameter("@updatedDate", salesTerritories.UpdatedDate),
new SqlParameter("@isActive", salesTerritories.IsActive));
CREATE PROCEDURE dbo.usp_CreateNewSalesTerritory
@orgId VARCHAR(255),
@salesTerritoryName VARCHAR(255),
@createdBy VARCHAR(255),
@createdDate DATETIME,
@updatedBy VARCHAR(255),
@updatedDate DATETIME,
@isActive BIT,
@identity INT OUTPUT
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO SalesTerritory (OrganizationId, Name, IsActive,
CreatedBy, CreatedDate, UpdatedBy, UpdatedDate)
VALUES (@orgId, @salesTerritoryName, @isActive,
@createdBy, @createdDate, @updatedBy, @updatedDate);
--SELECT SCOPE_IDENTITY();
--RETURN SCOPE_IDENTITY();
--SELECT @@IDENTITY;
SET @identity = SCOPE_IDENTITY()
END;
RETURN @identity
我希望获得该记录的新插入 ID 值,但我在屏幕上获得了默认值 0
【问题讨论】:
标签: asp.net sql-server webforms ado.net