Zum Inhalt springen

C++/CLI und MySQL: Wie kann ich ein Bild in der Datenbank speichern?


Empfohlene Beiträge

Geschrieben

Hallo zusammen,

ich hoffe, das ihr mir ein wenig helfen könnt.

Ich arbeite an einem digitalen Klassenbuch, in welchen neue Schüler angelegt werden können. Zu dem Schüler soll dann ein Bild (ca. 4-10 kb groß) in die Datenbank gespeichert werden. Nur hab ich das Problem:

Vom FileChooser bekomm ich ja den Pfad der Datei zurückgeliefert, nur müsste ich wissen, welchen Stream ich wie anwenden muss (und vor allem - WIE!)

Hab zwar den Rest des Programms nahezu fertig, allerdings hängts nun an dieser Funktion, an welcher ich schon total verzweifelt hänge (Gehirnverwindung?)

So mein Ansatz:


private: System::Void btn_upload_Click(System::Object^  sender, System::EventArgs^  e) 

{ 

	array<Byte>^ upladByteArray;

	OpenFileDialog^ openFileDialog = gcnew OpenFileDialog;

	openFileDialog->InitialDirectory = "C:\\";

	openFileDialog->Filter = "JPEG Datei (*.jpeg)|*.jpeg|JPG Datei (*.jpg)|*.jpg";

	openFileDialog->FilterIndex = 2;

	openFileDialog->RestoreDirectory = true;


	if ( openFileDialog->ShowDialog() == System::Windows::Forms::DialogResult::OK)

	{

		// Hier müsste dann das Bild gespeichert werden

	}


}

Geschrieben

Ich persönlich würde das Bild NICHT in der DB speichern, sondern nur einen Link zu dem Bild.

Also Datei in ein Verzeichnis kopieren, und in der DB den Pfad und den Dateinamen ablegen.

Nur mal als Idee.

Leider kann ich C++ nicht sonst könnte ich dir besser Helfen.

Geschrieben

Auf das wäre ich auch schon gekommen, allerdings soll das Projekt sehr einfach zu transportieren sein, und eventuell auch datenbankseitig Plattformunabhängig werden und da denke ich hab ich mit dem Pfad dann ein kleineres Problem.

Es wurde bei uns schon durchdiskutiert. Die Problematik mit Performance der MySQL Datenbank und Daten is bekannt, allerdings denk ich in dem kleinen Rahmen vernachlässigbar.

Aber trotzdem danke! ;)

Geschrieben

Nur als Idee von einem .NET / MSSQL Menschen :D

Bei MySQL gibts doch als Datentyp auch BLOB (Binary Large Object)?

Könntest du dann nicht mit nem Bytestream daran gehen?

Nur ne Idee, bin in C++/CLI noch nit soweit, arbeite erst seit heute damit :D

Geschrieben

jo, mit ByteStreams (evtl FileStream, bzw. ByteReader????) müsste es gehen, nur ist mir noch nicht klar wie ich damit umgehen muss.... da happerts quasi noch.

Noch dazu in Sachen Streams, is halt das erste mal das ich mich damit beschäftige.... aber das soll mich nicht abhalten :D

Hat jemand vielleicht ein kleines Beispiel, wo evtl das Beispiel mit einem FileChoserDialog erklärt wird??? :D

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...