sql >> データベース >  >> RDS >> Sqlserver

複数のパラメーター化された変数をC#のデータベースに追加する

    c#を使用しているため およびsql server 2008 、テーブル値パラメーターを使用して、データベースに複数の行を挿入できます。これを行う方法の簡単な説明は次のとおりです。

    まず、ユーザー定義のテーブルタイプを作成する必要があります:

    CREATE TYPE MyTableType AS TABLE
    (
        Col1 int,
        Col2 varchar(20) 
    )
    GO
    

    次に、このテーブルタイプをパラメータとして受け入れるストアドプロシージャを作成する必要があります

    CREATE PROCEDURE MyProcedure
    (
        @MyTable dbo.MyTableType READONLY -- NOTE: table valued parameters must be Readonly!
    )
    AS
    
    INSERT INTO MyTable (Col1, Col2)
    SELECT Col1, Col2 
    FROM @MyTable
    
    GO
    

    最後に、c#コードから次のストアドプロシージャを実行します。

    DataTable dt = new DataTable();
    dt.Columns.Add("Col1", typeof(int));
    dt.Columns.Add("Col2", typeof(string));
    
    // Fill your data table here
    
    using (var con = new SqlConnection("ConnectionString"))
    {
        using(var cmd = new SqlCommand("MyProcedure", con))
        {
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@MyTable", SqlDbType.Structured).Value = dt;
            con.Open();
            cmd.ExecuteNonQuery();
        }
    }
    


    1. 内部結合を使用したSQLDELETE

    2. 避けるべき5つのデータベース設計の間違い

    3. postgresのbyteaデータ型からSetIconを介してJLabelを更新する

    4. SQL Serverデータベースのオブジェクト(テーブル、ビュー、ストアドプロシージャ)のスキーマを変更する方法-SQL Server/TSQLチュートリアルパート28