gpt4 book ai didi

c# - ExecuteNonQuery() 返回受影响的意外行数 C#

转载 作者:行者123 更新时间:2023-11-30 19:05:57 24 4
gpt4 key购买 nike

这是我的代码

      // SqlCommand query = new SqlCommand("INSERT INTO devis (idProposition, identreprise, tauxHoraire, fraisGenerauxMO, fraisGenerauxPiece, beneficeEtAleas, idStatut, prixUnitaireVenteMO ) VALUES(@idproposition,  @identreprise, @tauxHoraire, @fraisGenerauxMO, @fraisGenerauxPiece, @beneficeEtAleas, 1, @prixUnitaireVenteMO) ", Tools.GetConnection());
SqlCommand query = new SqlCommand("INSERT INTO devis (idProposition, identreprise, tauxHoraire, fraisGenerauxMO, fraisGenerauxPiece, beneficeEtAleas, idStatut, prixUnitaireVenteMO, alerteEntrepriseEnvoyee,fraisDeplacement ) VALUES(1051, 85, 20, 2, 2, 2.2, 1, 88,0,-1) ", Tools.GetConnection());

//query.Parameters.AddWithValue("idproposition", this.ID);
//query.Parameters.AddWithValue("identreprise", competitor.ID);
//query.Parameters.AddWithValue("tauxHoraire", competitor.CoefTauxHoraire);
//query.Parameters.AddWithValue("fraisGenerauxMO", competitor.CoefFraisGenerauxMO);
//query.Parameters.AddWithValue("fraisGenerauxPiece", competitor.CoefFraisGenerauxPiece);
//query.Parameters.AddWithValue("beneficeEtAleas", competitor.CoefBeneficeEtAleas);
//query.Parameters.AddWithValue("prixUnitaireVenteMO", Math.Round(competitor.CoefTauxHoraire * competitor.CoefFraisGenerauxMO * competitor.CoefBeneficeEtAleas, 2));
bool insertOK = (query.ExecuteNonQuery() == 1);
if (insertOK)
{
// DO SOMETHING
}

insertOk 为 false 但在数据库中插入的行包含我指定的所有信息

我手动重建了查询,看看问题是否来自查询。参数,它再次无误地插入到数据库中,但 insertOk 仍然是错误的!我什至添加了另外两个不应为空的字段,但两种情况下的事件是相同的

有什么想法吗?

最佳答案

ExecuteNonQuery 它声称返回受影响的行数。。这是不正确的,因为客户端无法知道受影响的行数。文档错误地假设引擎将报告受影响的行数,但这取决于 session SET NOCOUNT状态。不要编写假定 NOCOUNT 始终打开的代码。如果您需要知道受影响的行数,请使用 OUTPUT clause .依赖于 @@ROWCOUNTSET NOCOUNT 状态会受到许多极端情况的影响,从某个角度或另一个角度来看,这些值是不正确的。

关于c# - ExecuteNonQuery() 返回受影响的意外行数 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15702131/

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