在 Visual Studio 中调试时存储过程中用户定义 Table 类型的值
Value of User Defined Table type in stored procedure while debugging in Visual Studio
我正在尝试通过 Visual Studio 2015
调试存储过程并希望查看 User Defined Table type
的值。
用户自定义脚本Table类型:
CREATE TYPE [dbo].[tp_CommercialActCarSends] AS TABLE(
[ID] [int] NOT NULL,
[ArriveDate] VARCHAR(25) NULL,
[id_Person] [int] NULL,
[CalcWeight] [DECIMAL](18,3) NULL
)
GO
和存储过程的代码:
CREATE PROCEDURE [dbo].[MyStoredProcedure](
, @CommercialActCarSends tp_CommercialActCarSends READONLY
, @UserID INT = NULL
)
AS
...
我用一些数据填充“DataTable”对象“comActsDataTable”,并通过 C# 将“comActsDataTable”传递给存储过程:
var reqRes = db.Database.SqlQuery<dynamic>("EXEC dbo.MyStoredProcedure @UserID = @UserID,
@CommercialActCarSends = @CommercialActCarSends"
, InitSqlParameter("@UserID", SqlDbType.Int, usrid)
, InitSqlParameter("@CommercialActCarSends", SqlDbType.Structured, comActsDataTable,
"tp_CommercialActCarSends")
我在Visual Studio
中看到的只是:
在 Visual Studio 中调试时是否可以查看 tp_CommercialActCarSends
存储过程的值?
它将与您的 DataTable 的内容相同。但是如果您真的想查看内容,您可能需要创建一个 table 并在您的过程代码中插入该 table。然后当它完成该过程时,您可以检查 table 的内容。据我所知,当您有 table 值参数时,您无法在 dotnet 中查看参数值的实际内容。
我正在尝试通过 Visual Studio 2015
调试存储过程并希望查看 User Defined Table type
的值。
用户自定义脚本Table类型:
CREATE TYPE [dbo].[tp_CommercialActCarSends] AS TABLE(
[ID] [int] NOT NULL,
[ArriveDate] VARCHAR(25) NULL,
[id_Person] [int] NULL,
[CalcWeight] [DECIMAL](18,3) NULL
)
GO
和存储过程的代码:
CREATE PROCEDURE [dbo].[MyStoredProcedure](
, @CommercialActCarSends tp_CommercialActCarSends READONLY
, @UserID INT = NULL
)
AS
...
我用一些数据填充“DataTable”对象“comActsDataTable”,并通过 C# 将“comActsDataTable”传递给存储过程:
var reqRes = db.Database.SqlQuery<dynamic>("EXEC dbo.MyStoredProcedure @UserID = @UserID,
@CommercialActCarSends = @CommercialActCarSends"
, InitSqlParameter("@UserID", SqlDbType.Int, usrid)
, InitSqlParameter("@CommercialActCarSends", SqlDbType.Structured, comActsDataTable,
"tp_CommercialActCarSends")
我在Visual Studio
中看到的只是:
在 Visual Studio 中调试时是否可以查看 tp_CommercialActCarSends
存储过程的值?
它将与您的 DataTable 的内容相同。但是如果您真的想查看内容,您可能需要创建一个 table 并在您的过程代码中插入该 table。然后当它完成该过程时,您可以检查 table 的内容。据我所知,当您有 table 值参数时,您无法在 dotnet 中查看参数值的实际内容。