Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Masukkan beberapa baris dengan parameter Sql Server

Anda dapat menggunakan parameter bernilai tabel:Cara meneruskan parameter nilai tabel ke prosedur tersimpan dari .net code

Pertama, buat tipenya, di SQL Server :

CREATE TYPE [dbo].[myTvpType] AS TABLE 
(
    [RecordID] int,
    [TagID] int
)

Dan kode C# untuk memasukkan data Anda :

internal void InsertData(SqlConnection connection, Dictionary<int, int> valuesToInsert)
{
    using (DataTable myTvpTable = CreateDataTable(valuesToInsert))
    using (SqlCommand cmd = connection.CreateCommand())
    {
        cmd.CommandText = "INSERT INTO myTable SELECT RecordID, TagID FROM @myValues";
        cmd.CommandType = CommandType.Text;

        SqlParameter parameter = cmd.Parameters.AddWithValue("@myValues", myTvpTable);
        parameter.SqlDbType = SqlDbType.Structured;

        cmd.ExecuteNonQuery();
    }
}

private DataTable CreateDataTable(Dictionary<int, int> valuesToInsert)
{
    // Initialize the DataTable
    DataTable myTvpTable = new DataTable();
    myTvpTable.Columns.Add("RecordID", typeof(int));
    myTvpTable.Columns.Add("TagID", typeof(int));

    // Populate DataTable with data
    foreach(key in valuesToInsert.Key)
    {
        DataRow row = myTvpTable.NewRow();
        row["RecordID"] = valuesToInsert[key];
        row["TagID"] = key;
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sambungkan sql server 2005/2008 melalui internet

  2. SQL Server mengembalikan catatan yang berbeda setelah dimasukkan pada tabel MS Access yang ditautkan

  3. Di SQL Server, cara membuat while loop di pilih

  4. Cara membatasi pengguna yang tidak masuk/tidak sah melihat halaman web di ASP.NET

  5. Cara menentukan apa yang dikompilasi di SQL Server