我在stackoverflow上环顾四周,但我真的找不到答案。也许我忽略了它。这是我的代码。在第一次之后它继续回到while循环,在我关闭阅读器后它又回到while(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;