• <bdo id='nLX40'></bdo><ul id='nLX40'></ul>
  • <i id='nLX40'><tr id='nLX40'><dt id='nLX40'><q id='nLX40'><span id='nLX40'><b id='nLX40'><form id='nLX40'><ins id='nLX40'></ins><ul id='nLX40'></ul><sub id='nLX40'></sub></form><legend id='nLX40'></legend><bdo id='nLX40'><pre id='nLX40'><center id='nLX40'></center></pre></bdo></b><th id='nLX40'></th></span></q></dt></tr></i><div id='nLX40'><tfoot id='nLX40'></tfoot><dl id='nLX40'><fieldset id='nLX40'></fieldset></dl></div>
    <tfoot id='nLX40'></tfoot>

    <legend id='nLX40'><style id='nLX40'><dir id='nLX40'><q id='nLX40'></q></dir></style></legend>

      1. <small id='nLX40'></small><noframes id='nLX40'>

        我收到错误“将数据类型 nvarchar 转换为实数时出错."

        时间:2023-10-24
        <tfoot id='63HeE'></tfoot>

            <tbody id='63HeE'></tbody>

              1. <i id='63HeE'><tr id='63HeE'><dt id='63HeE'><q id='63HeE'><span id='63HeE'><b id='63HeE'><form id='63HeE'><ins id='63HeE'></ins><ul id='63HeE'></ul><sub id='63HeE'></sub></form><legend id='63HeE'></legend><bdo id='63HeE'><pre id='63HeE'><center id='63HeE'></center></pre></bdo></b><th id='63HeE'></th></span></q></dt></tr></i><div id='63HeE'><tfoot id='63HeE'></tfoot><dl id='63HeE'><fieldset id='63HeE'></fieldset></dl></div>
                • <bdo id='63HeE'></bdo><ul id='63HeE'></ul>

                  <small id='63HeE'></small><noframes id='63HeE'>

                • <legend id='63HeE'><style id='63HeE'><dir id='63HeE'><q id='63HeE'></q></dir></style></legend>

                  本文介绍了我收到错误“将数据类型 nvarchar 转换为实数时出错."的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我的代码如下,请告诉我问题出在哪里,以便我们可以按仓库 ID 降价 7%?

                  The code which I have is below, can you please inform me where the issue might be so we can drop the price by warehouse ID with 7%?

                          private void button4_Click(object sender, EventArgs e)
                      {
                          try
                          {
                              myConnection = new SqlConnection(frm.cs);
                              myCommand = new SqlCommand("update Inventory set Price=@Price where WarehouseCode=6", myConnection);
                              myConnection.Open();
                              myCommand.Parameters.AddWithValue("@Price", "@Price * 0.7");
                              myCommand.ExecuteNonQuery();
                              myConnection.Close();
                              MessageBox.Show("Update successfully!");
                              DisplayData();
                              if (myConnection.State == ConnectionState.Open)
                              {
                                  myConnection.Dispose();
                              }
                          }
                  

                  推荐答案

                  当你的 仓库 ID折扣率 由最终用户指定,我建议您的代码如下:

                  As you are not assigning any value to @Price in the C# code while your Warehouse Id and the Discount rate are subject to be assigned by the end-user, I recommend your code be like this:

                     private void button4_Click(object sender, EventArgs e)
                     {
                          try
                          {
                              var discountRate = 0.07; //could be Convert.ToDouble(textBox1.Text) or something else
                              var warehouseId = 6;    //again, could be Convert.ToInt32(textBox2.Text) or something else
                              myConnection = new SqlConnection(frm.cs);
                              myCommand = new SqlCommand("update Inventory set Price=Price*(1-@DiscountRate) " +
                                                          "where WarehouseCode=@WarehouseId", myConnection);
                              myConnection.Open();
                              myCommand.Parameters.AddWithValue("@DiscountRate", discountRate);
                              myCommand.Parameters.AddWithValue("@WarehouseId", warehouseId);
                              myCommand.ExecuteNonQuery();
                              myConnection.Close();
                              MessageBox.Show("Update successfully!");
                              DisplayData();
                              if (myConnection.State == ConnectionState.Open)
                              {
                                 myConnection.Dispose();
                              }
                          }
                          catch
                          {
                  
                          }
                      }
                  

                  我还建议您重新考虑您的查询,因为它会使用相同的值更新所有产品价格,您可以考虑传递参数 @ProductId 并且您的查询是

                  I would also recommend you think again about your query as it will update all products price with the same value, you may consider passing parameter @ProductId and your query be

                  update Inventory set Price=Price*(1-@DiscountRate) 
                  where WarehouseCode=@WarehouseId and ProductCode=@ProductId
                  

                  当然是这样.

                  这篇关于我收到错误“将数据类型 nvarchar 转换为实数时出错."的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:SQL:按顺序对 VarBinary 列执行 UPDATE .WRITE 下一篇:SQL Server:更新不使用 C# 更新数据库

                  相关文章

                  <small id='V6ONY'></small><noframes id='V6ONY'>

                    <bdo id='V6ONY'></bdo><ul id='V6ONY'></ul>

                    <tfoot id='V6ONY'></tfoot>

                  1. <i id='V6ONY'><tr id='V6ONY'><dt id='V6ONY'><q id='V6ONY'><span id='V6ONY'><b id='V6ONY'><form id='V6ONY'><ins id='V6ONY'></ins><ul id='V6ONY'></ul><sub id='V6ONY'></sub></form><legend id='V6ONY'></legend><bdo id='V6ONY'><pre id='V6ONY'><center id='V6ONY'></center></pre></bdo></b><th id='V6ONY'></th></span></q></dt></tr></i><div id='V6ONY'><tfoot id='V6ONY'></tfoot><dl id='V6ONY'><fieldset id='V6ONY'></fieldset></dl></div>
                    1. <legend id='V6ONY'><style id='V6ONY'><dir id='V6ONY'><q id='V6ONY'></q></dir></style></legend>