Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tôi gặp lỗi Lỗi khi chuyển đổi kiểu dữ liệu nvarchar thành thực.

Vì bạn không chỉ định bất kỳ giá trị nào cho @Price trong mã C # trong khi Warehouse Id của bạn và Discount rate có thể được chỉ định bởi người dùng cuối, tôi khuyên bạn nên mã của bạn như sau:

   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*([email protected]) " +
                                        "where [email protected]", 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
        {

        }
    }​​​​​​​

Tôi cũng khuyên bạn nên suy nghĩ lại về truy vấn của mình vì nó sẽ cập nhật giá tất cả các sản phẩm với cùng một giá trị, bạn có thể cân nhắc chuyển tham số @ProductId và truy vấn của bạn là

update Inventory set Price=Price*([email protected]) 
where [email protected] and [email protected]

chắc chắn rằng đó là ví dụ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuỗi nối thêm MySQL

  2. Mysql trích xuất chữ cái đầu tiên của mỗi từ trong một cột cụ thể

  3. Định dạng ngày giờ Mysql thêm 10 phút

  4. CodeIgniter Active Record chèn từ bảng này sang bảng khác

  5. Chèn dữ liệu nếu số hàng lớn hơn 0 không hoạt động