0
私はエラーが多くargumetnsにこれは私のC#のコードであると私はSQLのパラメータを渡しています
複数のパラメータを持つSQLストアの手順でデータテーブルを渡す方法
を指定しているようocuredよりも、このパラメータを渡しています
ここで public async Task<CustomerProductDetailsResp> QuickSaveCustomerProductDetails(CustomerProductDetailsReq objReq)
{
Connection con = new Connection();
CustomerProductDetailsResp objBO = new CustomerProductDetailsResp();
DataTable dt = new DataTable();
dt.Columns.Add("RowID", typeof(int));
dt.Columns.Add("CustomerID", typeof(int));
dt.Columns.Add("Quantity", typeof(double));
dt.Columns.Add("ProductID", typeof(int));
int index = 1;
try
{
foreach (BOCustomerProducts list in objReq.CustomerProductDetails.CustomerProducts)
{
DataRow dr = dt.NewRow();
dr["RowID"] = index;
dr["CustomerID"] = list.CustomerID;
dr["Quantity"] = list.Quantity;
dr["ProductID"] = list.ProductID;
dt.Rows.Add(dr);
index++;
}
con.Open();
con.cmd.CommandText = "SP_QuickSaveCustomerProductDetail";
con.cmd.CommandType = CommandType.StoredProcedure;
con.cmd.Parameters.AddWithValue("@Year", objReq.CustomerProductDetails.Year);
con.cmd.Parameters.AddWithValue("@Month", objReq.CustomerProductDetails.Month);
con.cmd.Parameters.AddWithValue("@CreatedBy", objReq.CustomerProductDetails.CreatedBy);
con.cmd.Parameters.AddWithValue("@CreatedOn", objReq.CustomerProductDetails.CreatedOn);
con.cmd.Parameters.AddWithValue("@List", dt);
SqlParameter Msg = new SqlParameter("@Msg", SqlDbType.VarChar, 20000);
Msg.Direction = ParameterDirection.Output;
con.cmd.Parameters.Add(Msg);
objBO.ID = con.cmd.ExecuteNonQuery();
objBO.Msg = Msg.Value.ToString();
}
catch (Exception ex)
{
objBO.ID = 0;
objBO.Msg = ex.Message;
}
finally
{
con.Close();
}
return objBO;
}
はソートSQLストアの手順であり、私はこの方法
ALTER PROC [dbo].[SP_QuickSaveCustomerProductDetail]
(
@Year int,
@Month int,
@CreatedBy int,
@CreatedOn datetime,
@Msg varchar(MAX) OUTPUT,
@List AS dbo.ProductList READONLY
)
AS
BEGIN
END
のように、このparamentersにアクセスして、これは私のテーブルタイプ
01です CREATE TYPE dbo.ProductList
AS TABLE
(
RowID int,
CustomerID INT,
Quantity numeric(18,2),
ProductID INT
);
C#コードでのクエリはどこですか?クエリのパラメータの数が少なすぎます。投稿されたコードは5つのパラメータを追加しています。 – jdweng