私のコードは長い間実行されてきましたが、最近このエラーが発生しました。これObject reference not set to an instance of an object.
が新しいデータベースの作成と使用に関連しているかどうかはわかりません。
これが私のコードです:
con2.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "SELECT QtyInHand FROM Inventory WHERE ProductID=@ProductID";
cmd.Parameters.Add("@ProductID", SqlDbType.Int).Value = productID;
int existingQty = (int)cmd.ExecuteScalar();
cmd.Parameters.Clear();
cmd.CommandText = "UPDATE Inventory SET QtyInHand=@QtyInHand WHERE ProductID=@ProductID";
cmd.Parameters.Add("@QtyInHand", SqlDbType.Int).Value = existingQty - int.Parse(quantity);
cmd.Parameters.Add("@ProductID", SqlDbType.Int).Value = productID;
cmd.ExecuteNonQuery();
con2.Close();
この部分のエラー:int existingQty = (int)cmd.ExecuteScalar();
他の SqlConnection: con を使用しようとしたとき
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "SELECT QtyInHand FROM Inventory WHERE ProductID=@ProductID";
cmd.Parameters.Add("@ProductID", SqlDbType.Int).Value = productID;
int existingQty = (int)cmd.ExecuteScalar();
cmd.Parameters.Clear();
cmd.CommandText = "UPDATE Inventory SET QtyInHand=@QtyInHand WHERE ProductID=@ProductID";
cmd.Parameters.Add("@QtyInHand", SqlDbType.Int).Value = existingQty - int.Parse(quantity);
cmd.Parameters.Add("@ProductID", SqlDbType.Int).Value = productID;
cmd.ExecuteNonQuery();
con.Close();
別のエラー、一部のThe connection was not closed. The connection's current state is open.
エラーが発生しましcon.Open();
た。この問題を解決するにはどうすればよいですか?