Hallo zusammen,
ich habe schon wieder ein Problem und weiß nicht was ich falsch gemacht habe.
Ich habe folgenden Code:
[highlight=c#]db2con.CommandText = SQLcmd.ToString();
db2con.Fill(ref DB2Table);
Max = DB2Table.Rows.Count;
if (Max == 0)
{
// gestrichen weil hierfür nicht relevant
}[/highlight]
Und manchmal bleibt die DataTable leer obwohl es Sätze gibt die in die DataTable mit dem Fill hätten fließen müssen. Wenn ich einen BreakPoint auf die Zeile mit dem if setze und danach die aktuell auszuführende Zeile wieder auf den Fill setze und das Programm weiterlaufen lasse, dann stehen plötzlich die Sätze in der DataTable obwohl sich sonst nichts geändert hat. Die gelesene Tabelle wird vorher von einer anderen Routine aufgebaut und danach nicht mehr geändert.
Ich habe angenommen das der Fill das Programm erst weiterlaufen lässt wenn die DataTable gefüllt ist.
Wie kann ich sicherstellen das der Fill seinen Job auch erledigt hat?
Gruß Stephan
ich habe schon wieder ein Problem und weiß nicht was ich falsch gemacht habe.
Ich habe folgenden Code:
[highlight=c#]db2con.CommandText = SQLcmd.ToString();
db2con.Fill(ref DB2Table);
Max = DB2Table.Rows.Count;
if (Max == 0)
{
// gestrichen weil hierfür nicht relevant
}[/highlight]
Und manchmal bleibt die DataTable leer obwohl es Sätze gibt die in die DataTable mit dem Fill hätten fließen müssen. Wenn ich einen BreakPoint auf die Zeile mit dem if setze und danach die aktuell auszuführende Zeile wieder auf den Fill setze und das Programm weiterlaufen lasse, dann stehen plötzlich die Sätze in der DataTable obwohl sich sonst nichts geändert hat. Die gelesene Tabelle wird vorher von einer anderen Routine aufgebaut und danach nicht mehr geändert.
Ich habe angenommen das der Fill das Programm erst weiterlaufen lässt wenn die DataTable gefüllt ist.
Wie kann ich sicherstellen das der Fill seinen Job auch erledigt hat?
Gruß Stephan
Comment