por*_*ent -3 c# sql sql-server
我有一种从SQL Server数据库中获取数据的方法。我正在使用reader获取所有数据。问题是reader 继续阅读并且应用程序没有弹出。这就像一个无限循环之类的东西。
public static List<Reservering> GetReserverings()
{
Reservering res = new Reservering();
using (var conn = new SqlConnection(ConnectionString))
{
conn.Open();
const string query = "select b.boekingid, k.naam, bk.incheckdatum, bk.uitcheckdatum, b.hotelid, b.aantal_gasten from boeking b join klant k on k.klantid = b.boekingid join boekingkamer bk on b.boekingid = bk.boekingid where bk.incheckdatum is not null and bk.uitcheckdatum is not null";
SqlCommand selectReserveringen = new SqlCommand(query, conn);
SqlDataReader reader = selectReserveringen.ExecuteReader();
while (reader.Read())
{
res.Id = (int)reader["boekingid"];
res.Naam = (string)reader["naam"];
res.Incheck_datum = (DateTime)reader["incheckdatum"];
res.Uitcheck_datum = (DateTime)reader["uitcheckdatum"];
res.Hotel = (int)reader["hotelid"];
res.Aantal_personen = (int)reader["aantal_gasten"];
}
reader.Close();
}
return GetReserverings();
}
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?
你有一个无限递归调用在年底方法本身:
return GetReserverings();
Run Code Online (Sandbox Code Playgroud)
您可以通过在方法中设置一个断点并逐步执行代码来发现这一点。
您想返回一个保留列表:
var result = new List<Reservering>();
// your code...
return result;
Run Code Online (Sandbox Code Playgroud)
在while()循环中,您希望实例化一个新的Reservering每次迭代,并将Add其实例化到结果列表中。
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |