>데이터 베이스 >MySQL 튜토리얼 >ADO.NET에서 SQL Server 저장 프로시저로 테이블 값 매개 변수를 전달하는 방법은 무엇입니까?

ADO.NET에서 SQL Server 저장 프로시저로 테이블 값 매개 변수를 전달하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-11 06:28:42686검색

How to Pass Table-Valued Parameters from ADO.NET to SQL Server Stored Procedures?

ADO.NET을 사용하여 테이블 값 매개 변수를 SQL Server 저장 프로시저에 전달

이 가이드에서는 ADO.NET의 테이블 반환 매개 변수를 사용하여 테이블이나 배열과 같은 구조화된 데이터를 SQL Server 저장 프로시저로 전송하는 방법을 보여줍니다. 다음 단계를 따르세요.

  1. SQL Server 사용자 정의 테이블 유형 정의: CREATE TYPE 문을 사용하여 테이블 값 데이터를 구성합니다. 예:
<code class="language-sql">CREATE TYPE [dbo].[MyDataType] AS TABLE
(
    ID INT,
    Name NVARCHAR(50)
)</code>
  1. 저장 프로시저 만들기: 저장 프로시저 내에서 테이블 반환 매개 변수를 읽기 전용 입력 매개 변수로 선언합니다. 예:
<code class="language-sql">CREATE PROCEDURE [dbo].[MyProcedure]
(
    @myData [dbo].[MyDataType] READONLY
)
AS
BEGIN
    SELECT * FROM @myData
END</code>
  1. C#에서 DataTable 채우기: C# 코드에서 DataTable를 만들고 전달하려는 데이터로 채웁니다.
<code class="language-csharp">DataTable myDataTable = new DataTable("MyDataType");
myDataTable.Columns.Add("Name", typeof(string));
myDataTable.Columns.Add("Id", typeof(Int32));
myDataTable.Rows.Add("XYZ", 1);
myDataTable.Rows.Add("ABC", 2);</code>
  1. SQL 매개변수 생성 및 추가: SqlParameter 객체 생성 및 해당 속성 설정:
  • ParameterName: 저장 프로시저의 매개변수 이름과 일치해야 합니다.
  • SqlDbType: Structured으로 설정합니다.
  • Value: DataTable을 값으로 지정합니다.

명령 개체에 다음 매개변수를 추가하세요.

<code class="language-csharp">SqlParameter parameter = new SqlParameter();
parameter.ParameterName = "@myData";
parameter.SqlDbType = System.Data.SqlDbType.Structured;
parameter.Value = myDataTable;
command.Parameters.Add(parameter);</code>

이러한 단계를 수행하면 ADO.NET 애플리케이션에서 SQL Server 저장 프로시저로 테이블 반환 매개 변수를 효율적으로 전달할 수 있습니다.

위 내용은 ADO.NET에서 SQL Server 저장 프로시저로 테이블 값 매개 변수를 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.