我在C#中有一个C#,我正在尝试将它传递给Server。
我拥有的是:
DataTable asd = new DataTable();
for (int i = 0; i < LocationDataList.Count; i++)
{
asd.Columns.Add(LocationDataList[i], typeof(string));
}
command.Parameters.Add("@PLocationDataList", SqlDbType.NVarChar, -1).Value = asd;
command.ExecuteNonQuery();这是过程T;
ALTER PROCEDURE [Sade].[SPLocationInsert]
@... INT
,@... VARCHAR(64)
,@... VARCHAR(MAX)
,@... INT
,@... INT
,@... INT
,@... INT
,@... INT
,@PLocationDataList NVARCHAR(MAX)
AS我不知道如何传递DataTable,也不知道应该使用哪种数据类型。
提前感谢
发布于 2016-07-26 09:08:51
在Server中创建用户定义的表类型:
CREATE TYPE LocationTableType AS TABLE
( LocationName VARCHAR(50));
GO并将此表值参数传递给存储过程:
CREATE PROCEDURE [Sade].[SPLocationInsert]
@... INT
,@... VARCHAR(64)
,@... VARCHAR(MAX)
,@... INT
,@... INT
,@... INT
,@... INT
,@... INT
,@PLocationDataList LocationTableType READONLY
AS
SET NOCOUNT ON
-- insert your code here
GO参考文献:
用户定义的表类型:https://technet.microsoft.com/en-us/library/bb522526(v=sql.105).aspx
表值参数:https://technet.microsoft.com/en-us/library/bb510489(v=sql.105).aspx
https://stackoverflow.com/questions/38585285
复制相似问题