ERLEDIGT
NEIN
NEIN
ANTWORTEN
0
0
ZUGRIFFE
243
243
EMPFEHLEN
-
Hallo!
Ich lese folgendermaßen eine Bild aus einer MySQL-Datenbank:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
private void getUserIcon() [size=2]{ [/size][size=2][color=#0000ff]if[/color][/size][size=2] (db_error == [/size][size=2][color=#0000ff]false[/color][/size][size=2])[/size] [size=2]{ MySqlConnection myConnIcon; [/size][size=2][color=#0000ff] #if[/color][/size][size=2] DEBUG[/size] [size=2] myConnIcon = [/size][size=2][color=#0000ff]new[/color][/size][size=2] MySqlConnection([/size][size=2][color=#ff0000]"server=127.0.0.1;user [/color][/size][size=2][color=#ff0000]id=root;[/color][/size][size=2][color=#ff0000]password="[/color][/size][size=2]);[/size] [size=2][color=#0000ff] #else [/color][/size][size=2][color=#808080] myConnIcon = new MySqlConnection("server=192.168.0.13;user id=root;password="); [/color][/size][size=2][color=#0000ff] #endif [/color][/size][size=2] myConnIcon.Open(); MySqlDataReader reader = [/size][size=2][color=#0000ff]null[/color][/size][size=2];[/size] [size=2] MySqlCommand mySqlCommand = [/size][size=2][color=#0000ff]new[/color][/size][size=2] MySqlCommand([/size][size=2][color=#ff0000]"SELECT Icon FROM[/color][/size] [size=2][color=#ff0000] mysql.user_info WHERE User = '"[/color][/size][size=2] + [/size][size=2][color=#0000ff]this[/color][/size][size=2].cboUser.Text + [/size][size=2][color=#ff0000]"'"[/color][/size][size=2], myConnIcon);[/size] [size=2][color=#0000ff] try[/color][/size] [size=2] { FileStream fs; BinaryWriter bw; [/size][size=2][color=#0000ff][color=#000000] [/color]int[/color][/size][size=2] bufferSize = 100;[/size] [size=2][color=#0000ff][color=#000000] [/color]byte[/color][/size][size=2][] outbyte = [/size][size=2][color=#0000ff]new[/color][/size][size=2][color=#0000ff]byte[/color][/size][size=2][bufferSize];[/size] [size=2][color=#0000ff][color=#000000] [/color]long[/color][/size][size=2] retval;[/size] [size=2][color=#0000ff][color=#000000] [/color]long[/color][/size][size=2] startIndex = 0;[/size] [size=2] reader = mySqlCommand.ExecuteReader(); reader.Read(); fs = [/size][size=2][color=#0000ff]new[/color][/size][size=2] FileStream([/size][size=2][color=#0000ff]this[/color][/size][size=2].cboUser.Text + [/size][size=2][color=#ff0000]".png"[/color][/size][size=2], FileMode.OpenOrCreate, [/size][size=2]FileAccess.Write);[/size] [size=2] bw = [/size][size=2][color=#0000ff]new[/color][/size][size=2] BinaryWriter(fs);[/size] [size=2] startIndex = 0; retval = reader.GetBytes(0, startIndex, outbyte, 0, bufferSize); [/size][size=2][color=#0000ff][color=#000000] [/color]while[/color][/size][size=2] (retval == bufferSize)[/size] [size=2] { bw.Write(outbyte); bw.Flush(); startIndex += bufferSize; retval = reader.GetBytes(0, startIndex, outbyte, 0, bufferSize); } bw.Write(outbyte, 0, ([/size][size=2][color=#0000ff]int[/color][/size][size=2])retval - 1);[/size] [size=2] bw.Flush(); bw.Close(); fs.Close(); [/size][size=2][color=#0000ff][color=#000000] [/color]this[/color][/size][size=2].picUserIcon.Image = Image.FromFile([/size][size=2][color=#0000ff]this[/color][/size][size=2].cboUser.Text + [/size][size=2][color=#ff0000]".png"[/color][/size][size=2]);[/size] [size=2] } [/size][size=2][color=#0000ff][color=#000000] [/color]catch[/color][/size][size=2](MySqlException ex) [/size] [size=2] { MessageBox.Show([/size][size=2][color=#ff0000]"Failed to populate table list: "[/color][/size][size=2] + ex.Message );[/size] [size=2] } [/size][size=2][color=#0000ff][color=#000000] [/color]finally[/color][/size] [size=2] { [/size][size=2][color=#0000ff][color=#000000] [/color]if[/color][/size][size=2] (reader != [/size][size=2][color=#0000ff]null[/color][/size][size=2]) reader.Close();[/size] [size=2] myConnIcon.Close(); } } }[/size]
Diese Methode wird aufgerufen, wenn ich in einer ComboBox (cboUser) einen Benutzer auswähle.
Wenn ich nun einen Benutzer auswähle, wird das Bild angezeigt, wenn ich allerdings denselben Benutzer ein weiteres Mal auswähle, erhalte ich folgende Exception:
"The process cannot access the file "C:\test.png" because it is being used by another process."
Kann mir jemand weiterhelfen, und verraten an welcher Stelle der Fehler ist?
Vielen Dank schonmal im Voraus!
MfG
Jens
Ähnliche Themen
-
Beim Überfliegen eines Links, soll ein Bild erscheinen
Von Eiszwerg im Forum CSSAntworten: 13Letzter Beitrag: 24.08.07, 17:21 -
Problem beim Auslesen eines HTMLDocument
Von mikels im Forum .NET Web und KommunikationAntworten: 3Letzter Beitrag: 19.08.07, 19:47 -
Leerzeichen fehlen am Anfang/Ende eines Textes beim Auslesen einer XML-Datei
Von lukasS im Forum VisualStudio & MFCAntworten: 0Letzter Beitrag: 30.05.07, 15:56 -
Beim überfahren eines Links, soll ein Bild erscheinen
Von elecfuture im Forum HTML & XHTMLAntworten: 1Letzter Beitrag: 05.11.05, 01:54 -
Probleme bei der Sortierung / beim auslesen eines Ordners
Von culan im Forum PHPAntworten: 0Letzter Beitrag: 12.04.05, 13:19





Zitieren
Login





