Hallo!Ich schreibe gerade ein Datenbankkovertierungsskript unter Windows. Die DB Zugriffe realisiere ich über das win32::odbc Modul.
Mit folgendem Code habe ich ein Problem (Beschreibung folgt unter dem Code):
--- snippet ---
while($odbcon->FetchRow()) {
undef %data;
%data = $odbcon->DataHash();
my $tmp_fallnr = CalcAmbFallnr($data{PatientAZ});
if(exists $hash{$tmp_fallnr}) {
my $queryS_update = "UPDATE Studies SET PatientAZ=$hash{$tmp_fallnr} where StudyNr=\'$data{StudyNr}\'";
$odbcon->Sql("$queryS_update");
}
}
--- snippet ---
Also wie in vielen Tutorials beschrieben sollte die Zeile
while(odbcon->FetchRow())
solange die Schleife am laufen halten bis keine Zeilen aus der Abfrage mehr übrig sind. Leider wird bei mit die Schleife immer nur 1mal durchlaufen und dann ausgestiegen. Offenbar denkt FetchRow das da keine Zeilen mehr sind, leider sind da noch einige :).
Es ist natürlich auch gut möglich das ich mich irgendwo vertan habe :). Ahja die Abfrage sieht so aus: "SELECT * FROM Studies", gestellt an einen MS SQL 2000 Server.
Ich verwende die ActiveState Perl Version 5.8.7.813 .
Mit Bitte um Hilfe
David
Datum: 24.10.2005-16:04
