복붙노트

[SQL] 저장 프로 시저에 데이터 테이블 전달

SQL

저장 프로 시저에 데이터 테이블 전달

나는 C #에서 생성 된 데이터 테이블이있다.

using (DataTable dt = new DataTable())
{
    dt.Columns.Add("MetricId", typeof(int));
    dt.Columns.Add("Descr", typeof(string));
    dt.Columns.Add("EntryDE", typeof(int));
    foreach (DataGridViewRow row in dgv.Rows)
    {
        dt.Rows.Add(row.Cells[1].Value, row.Cells[2].Value, row.Cells[0].Value);
    }

    // TODO: pass dt
}

그리고 저장 프로 시저를

CREATE PROCEDURE [dbo].[Admin_Fill] 
-- Add the parameters for the stored procedure here
@MetricId INT,
@Descr VARCHAR(100),
@EntryDE VARCHAR(20)

내가 원하는, 어떻게이 저장 프로 시저에 데이터 테이블을 전달하는 것입니다?

해결법

  1. ==============================

    1.당신은 2008 / .NET 3.5 SQL 서버로 파라미터 값을 갖는 테이블을 사용할 수 있습니다 ....

    당신은 2008 / .NET 3.5 SQL 서버로 파라미터 값을 갖는 테이블을 사용할 수 있습니다 ....

    MSDN의 가이드를 확인하세요

    또한, 거기에 다른 옵션을 사용할 때, 나는 (CSV 대 XML 대 TVP)을 sproc에 여러 값 (단일 필드)를 통과하는 3 개 방식의 비교를

  2. ==============================

    2.이 문제를 해결해야한다

    이 문제를 해결해야한다

  3. ==============================

    3.우리는 일반적으로 분출하는 XML 문서에 데이터와는 NTEXT 매개 변수로 데이터베이스에 데이터를 전달합니다.

    우리는 일반적으로 분출하는 XML 문서에 데이터와는 NTEXT 매개 변수로 데이터베이스에 데이터를 전달합니다.

  4. from https://stackoverflow.com/questions/12320594/passing-datatable-to-a-stored-procedure by cc-by-sa and MIT license