[C#/MySQL] DB insert van een photo *

Pagina: 1
Acties:

  • chrisO
  • Registratie: Mei 2003
  • Laatst online: 21-08 10:06
Ik wil photo's opslaan in een database (mySql) het programma dat communiceerd met de DB is in C# gebruik het volgende statement om de photo in een byte array op te slaan :

byte[] image = Picture.GetImage(tbxImageFileName.Text);

en vervolgens m.b.v.
een insertquery en myOdbcCommand.ExecuteNonQuery(); insert ik de photo en nog een enkele andere gegevens in m'n DB
de photo word als BLOB opgeslagen. Kijk ik vervolgensm.b.v MySQL Control Center in de tabel dan staat daar dus in het blob veld "System.Byte[]"
Iemand enig idee wat hier fout gaat?

  • whoami
  • Registratie: December 2000
  • Laatst online: 01:57
Blijkbaar weet C# niet hoe hij een Picture naar een byte array moet omzetten.

Eigenlijk is het zowiezo het beste -imo- om niet de foto zelf op te slaan, maar het pad naar die foto.

https://fgheysels.github.io/


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Waarschijnlijk doe je je insert met een string en concateneer je de string gewoon met de byte array ( image ) als volgt.

C#:
1
string insert = "insert into blaat blaat" + image + " rest van insert";


wat c# dan doet is de ToString method aanroepen om image naar een string te converteren. Het resultaat is dat de ToString van een byte array zijn type print. dus wordt je string iets van "insert into blaat blaatSystem.Byte[] rest van insert". Je kan dit oplossen door b.v. parameters te gebruiken of zelf de string omzetten naar een geldige byte string

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

System.IO.FileStream.Read(..) ??
zo doe ik het toch ook met PHP? bestand binair inlezen (system.IO.binaryreader misschien nog) en dan naar database sturen.
Maar het is volgens mij inderdaad beter om die foto ergens op te slaan en het path in de database te plaatsen. dus File.SaveAS(newlocation), en dan newlocation in de DB stoppen. Is dat geen optie?