Я огляделся вокруг stackoverflow, но я не могу найти ответ. Может быть, я не замечаю этого. Это мой код. после того, как первый, пока он продолжает идти обратно в то время цикла и после того, как я закрываю читатель она восходит к некоторому времени (reader.read())Неверная попытка вызова Читать, когда читатель закрыт, но не знает, что пошло не так
public string VoegHoeveelheidToe(string HandmatigHoeveelheid, string ControleerBarcode)
{
string i = null;
int Beginhoeveelheid;
int ToeTeVoegenHoeveelheid;
ToeTeVoegenHoeveelheid = Convert.ToInt32(HandmatigHoeveelheid);
try
{
connectie.Open();
OleDbDataReader reader = null;
OleDbCommand command = new OleDbCommand("SELECT hoeveelheid from Voorraad,Product Where Voorraad.Barcode = Product.Barcode AND Voorraad.Barcode = '" + ControleerBarcode + "'", connectie);
reader = command.ExecuteReader();
while (reader.Read())
{
Beginhoeveelheid = reader.GetInt32(0);
ToeTeVoegenHoeveelheid = Beginhoeveelheid + Convert.ToInt32(HandmatigHoeveelheid);
if(ToeTeVoegenHoeveelheid < Beginhoeveelheid)
{
i = Convert.ToString(3);
}
else
{
connectie.Close();
try
{
connectie.Open();
OleDbCommand command1 = new OleDbCommand();
command1.Connection = connectie;
string query = "Update Voorraad set hoeveelheid = " + ToeTeVoegenHoeveelheid + " Where barcode='" + ControleerBarcode + "'";
command1.CommandText = query;
command1.ExecuteNonQuery();
i = Convert.ToString(1);
connectie.Close();
}
catch (Exception)
{
i = Convert.ToString(2);
}
}
}
}
catch (Exception)
{
i = Convert.ToString(2);
}
connectie.Close(); return i;
Я не понимаю этого после первого, пока он продолжает возвращаться к циклу while. Разве это не так, как работает оператор while? –