Я сделал следующий код, чтобы заполнить список данными из базы данных.
public List<Transactie> FillTransacties()
{
try
{
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
SqlCommand cmd = new SqlCommand("SELECT transactieID, opdrachtID, medewerkerID, soort, datum, bedrag FROM Financien", connection);
SqlDataReader transactieinformatie = cmd.ExecuteReader();
List<Transactie> transacties = new List<Transactie>();
while (transactieinformatie.Read())
{
string transactieID = transactieinformatie["transactieID"].ToString();
string opdrachtID = transactieinformatie["opdrachtID"].ToString();
string medewerkerID = transactieinformatie["medewerkerID"].ToString();
string soort = transactieinformatie["soort"].ToString();
string datum = transactieinformatie["datum"].ToString();
string bedrag = transactieinformatie["bedrag"].ToString();
Transactie transactie = new Transactie(transactieID, opdrachtID, medewerkerID, soort, datum, bedrag);
transacties.Add(transactie);
connection.Close();
return transacties;
}
}
catch (InvalidCastException ICE)
{
MessageBox.Show("De data in de database is incorrect", ICE.Message);
return new List<Transactie>();
}
catch (Exception e)
{
MessageBox.Show("Er is een onbekende error opgetreden.", e.Message);
return new List<Transactie>();
}
}
Теперь я знаю, в чем проблема, я возвращаю значения в цикле while.Проблема, тем не менее, когда я пытаюсь «Вернуть транзакционность»;вне цикла while список заполняется только значением 1.
Мой вопрос: как мне решить эту ошибку таким образом, чтобы база данных заполнялась каждой строкой в базе данных?
Заранее спасибо.
- Если у вас есть вопросы, касающиеся имен, пожалуйста, сделайте это, потому что это на голландском языке.- Советы относительно исключений тоже очень приветствуются, потому что я очень новичок в программировании.- Также приветствуются советы относительно «лучших практик».