Laden...

Bilder speichern

Erstellt von gelöschtem Konto vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.015 Views
Gelöschter Account
vor 14 Jahren
Bilder speichern

verwendetes Datenbanksystem: Microsoft SQL Server Management Studio

Hallo,

ich bins mal wieder und wie immer hab ich 0 peil 😦
es geht darum: bilder in ner datenbank speichern.
die bilder sind aufm laufwerk in mehrerer ordnern. also irgendwas rekursives brauch ich wahrscheinlich. ich hab auch schon rausgefunden, dass man irgendwas mit byte machn muss. hab aber keine ahnung. sorry wegen der laschen schreibweise aber mich regt des grad bissl auf
für hilfe wär ich dankbar

grüße

Gelöschter Account
vor 14 Jahren
1.002 Beiträge seit 2007
vor 14 Jahren

Hallo s--t--e--f,

kleiner Tipp: Wenn du eine klare Frage unter Verwendung von Groß- und Kleinschreibung und unter Beachtung der Forenregeln stellst, erhöhen sich die Chance auf qualifizierte Antworten drastisch.
Achja, weniger hilfreich sind dabei

wie immer hab ich 0 peil 😦 ,
irgendwas mit byte und
hab aber keine ahnung . Solche Floskeln untermauern geradezu, wie viel Eigenrecherche du schon betrieben hast.

m0rius

Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg

Gelöschter Account
vor 14 Jahren

Hey Leute,

sorry nochmals für die patzige Schreibweise. Hat gestern nen übels schlechten Tag.
Heut hab ich mich nochmal rangemacht und innerhalb von 30 Minuten hat ich die Lösung^^
Also tut mir echt leid wegen gestern... 😕
Hier ist die Lösung:


namespace BilderSpeichern
{
    class Program
    {
        private static SqlConnection myConnection;
        private static SqlCommand myCommand;

        private static void walkFolders(string Directory)
        {
            walkFolders(new DirectoryInfo(Directory));
        }

        private static void walkFolders(DirectoryInfo di)
        {
            try
            {
                // Alle Verzeichnisse rekursiv durchlaufen
                foreach (DirectoryInfo subdir in di.GetDirectories())
                {
                    walkFolders(subdir);
                }

                // Alle Dateien durchlaufen
                foreach (FileInfo fi in di.GetFiles())
                {
                    Console.WriteLine(fi.FullName + "\r");
                    string File = fi.FullName;
                    FileStream myStream = new FileStream(File, FileMode.Open, FileAccess.Read);
                    Byte[] myBlob = new Byte[myStream.Length];
                    myStream.Read(myBlob, 0, myBlob.Length);
                    myStream.Close();
                    SqlParameter myParameter = new SqlParameter("@bild", System.Data.SqlDbType.VarBinary, myBlob.Length, System.Data.ParameterDirection.Input, false,
                        0, 0, null, System.Data.DataRowVersion.Current, myBlob);
                    myCommand.Parameters.Clear();
                    myCommand.Parameters.Add(myParameter);
                    //myCommand.Parameters[0] = myParameter;
                    myCommand.ExecuteNonQuery();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.ReadLine();
            }
        }


        static void Main(string[] args)
        {
            try
            {
                string Verzeichnis = @"PFAD";
                myConnection = new SqlConnection(@"Data Source=DATENBANK");
                myCommand = new SqlCommand("Insert into dbo.Bilder(bild) values (@bild)", myConnection);
                myConnection.Open();
                walkFolders(Verzeichnis);
                myConnection.Close();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.ReadLine();
            }
	
        }
    }