gpt4 book ai didi

c# - 使用存储过程更新命令

转载 作者:行者123 更新时间:2023-11-30 15:31:53 24 4
gpt4 key购买 nike

我有一个更新查询(存储过程),当我执行它时它在 SQL Server 中正常工作。

CREATE PROCEDURE updatestudenthws(@stdid nvarchar(50),@hwid int, @grade float)
AS
UPDATE Table_Exercise_Answer
SET
ExAns_Grade = @grade
WHERE ExAns_Exercise = @hwid AND ExAns_Student = @stdid

但是当我运行该程序时,它对我的​​表没有任何影响,而且我也没有任何错误。

     con.Open();
SqlCommand cmd = new SqlCommand("updatestudenthws", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@hwid", SqlDbType.VarChar);
cmd.Parameters.Add("@stdid", SqlDbType.VarChar);
cmd.Parameters.Add("@grade", SqlDbType.VarChar);
cmd.Parameters["@hwid"].Value = hwid;
cmd.Parameters["@stdid"].Value = studentid;
cmd.Parameters["@grade"].Value = grade;

cmd.ExecuteNonQuery();
con.Close();

我的错误是什么?我应该如何做这项工作?

最佳答案

使用 AddWithValue(),因此您不必提供类型,这让您犯了将 varchar 传递给 int< 的错误 参数。

 con.Open();
SqlCommand cmd = new SqlCommand("updatestudenthws", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@hwid", hwid);
cmd.Parameters.AddWithValue("@stdid", studentid);
cmd.Parameters.AddWithValue("@grade", grade);
cmd.ExecuteNonQuery();
con.Close();

关于c# - 使用存储过程更新命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19977564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com