sql >> Database teknologi >  >> RDS >> Sqlserver

C# Indsæt i SQL-tabel med List som parameter

Konfigurer en brugerdefineret type svarende til.

CREATE TYPE [dbo].[tableOf_Ints] AS TABLE(
    [ID] [int] NULL
)
GO

Så kan du bruge det sådan her.

public static SqlCommand CreateCommand(List<int> ints)
{
    var dt = new DataTable();
    dt.Columns.Add("ID",typeof(Int32));
    for (int i = 0; i < ints.Count; i++)
    {
        dt.Rows.Add(ints[i]);
    }

    SqlCommand cmd = new SqlCommand("SomeStoredProc");
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.CommandTimeout = 120;
    var param1 = cmd.Parameters.AddWithValue("@SomeParam", dt);
    param1.SqlDbType = SqlDbType.Structured;
    param1.TypeName = "dbo.tableOf_Ints";

    return cmd;
}

Forudsat at du har en gemt proc som denne.

CREATE PROCEDURE [dbo].[SomeStoredProc]  
    @SomeParam TableOf_Ints READONLY
AS
BEGIN
END


  1. Hvis MYSQL ikke skelner mellem store og små bogstaver, hvordan fungerer det så for feltet Adgangskode i Login?

  2. Jeg er ikke i stand til at finde, om rækken allerede eksisterer i mysql db ved hjælp af tidsfunktion i php mysql-forespørgsel?

  3. Skinner:FATAL - Peer-godkendelse mislykkedes for bruger (PG::Fejl)

  4. Ikke i stand til at indsætte JSON fra PostgreSQL til elasticsearch. Får fejl - "Undtagelse ved udførelse af JDBC-forespørgsel"