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
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
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();
}
}
}