如何使用 SQL Server 中的存储过程在表中插入数据表

本文关键字:插入 数据表 存储过程 何使用 SQL Server | 更新日期: 2023-09-27 18:36:13

需要使用wcf服务发布 10 个以上的数据。我从c#代码中得到了datatable。如何使用stored procedure在表中插入datatable

    public static DataTable Get_JobTypeList() { 
       return SqlHelper.ExecuteDataset(connection, CommandType.StoredProcedure, "JMPS_GET_Jobs_Type").Tables[0];
 }

如何使用 SQL Server 中的存储过程在表中插入数据表

创建以下存储过程,该过程将接受DataTable作为参数,然后将所有记录插入到表中。

CREATE PROCEDURE [dbo].[Insert_Customers]
          @tblCustomers CustomerType READONLY
    AS
    BEGIN
          SET NOCOUNT ON;
          INSERT INTO Customers(CustomerId, Name, Country)
          SELECT Id, Name, Country FROM @tblCustomers
    END

在数据库端编写存储过程。
列出要在List<SqlParameter>中传递的参数,并调用以下函数:

public static int ExecSqlNonQuery(string storedProcName, List<SqlParameter> listSqlParams)
    {
        SqlConnection Conn = new SqlConnection("YourConnectionString");
        SqlCommand cmd = new SqlCommand();
        try
        {
            getSqlPara(listSqlParams, cmd);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Conn;
            Conn.Open();
            cmd.CommandText = storedProcName;
            return cmd.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            if (Conn.State != ConnectionState.Closed)
            {
                Conn.Close();
                Conn.Dispose();
            }
            cmd.Dispose();
        }
        //return 0;
    }