sql >> データベース >  >> RDS >> Mysql

データ型nvarcharをrealに変換中にエラーが発生しました。

    @Priceに値を割り当てていないため C#コード Warehouse Id およびDiscount rate エンドユーザーによって割り当てられる可能性があるため、コードは次のようにすることをお勧めします:

       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
            {
    
            }
        }​​​​​​​
    

    また、すべての商品の価格が同じ値で更新されるため、クエリについてもう一度検討することをお勧めします。パラメータ@ProductIdを渡すことを検討してください。 そしてあなたの質問は

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

    確かにそれは例えばでした。



    1. postgreSQLで既存のテーブルのcreatetablesqlステートメントを生成する方法

    2. SQLServerの日付と時刻のデータ型の比較

    3. psql \copymeta-commandでエラーを無視する方法

    4. ウィンドウ関数-リセット付きの現在の合計