使用自定义表数据类型执行存储过程

时间:2018-09-04 19:53:21

标签: c# sql-server

我有一个从SQL Server返回DataTable A的方法。 DataTable A被传递到另一个方法,该方法打开SQL Server连接,设置参数值,并执行将DataTable A中的行插入到新SQL Server表中的过程。

我遇到的问题是,当我运行ExecuteNonScalar时,返回值为0,并且我的记录没有插入,我也不明白为什么。我没有收到错误。

我已通过在DataTable A中显示DataGridView来检查数据。

using (var connection = new SqlConnection(connectionStr))
{
    connection.Open();

    using (var command = new SqlCommand("InsertRequests", connection))
    {
        command.Parameters.AddWithValue("@NewRequestImportDataType", data).TypeName = "dbo.NewRequestImportDataType";
        returnString = command.ExecuteNonQuery().ToString();
    }

    connection.Close();
}
return returnString;

编辑:这是存储过程:

ALTER PROCEDURE [dbo].[InsertRequests]
    @NewRequestImportDataType NewRequestImportDataType READONLY
AS
BEGIN
    INSERT INTO [tbl RequestData] (Request, EnterReqDt, Comp, Cust, OrderNum, InvoiceNum, Type, TrackNum, DelIssue, Comped, CompType, homeTel, WorkTel, custname, requestByName, AcctName, tele, Comments, ARStatus, email, Uname)  
        SELECT * 
        FROM @NewRequestImportDataType 
END

0 个答案:

没有答案