Zapis zdjęć do bazy MySQL

0

Jak zapisać zdjęcie do MySQL?

0

poczytaj o BLOB, ale lepiej tego nie używaj (trzymaj w bazie ścieżki do plików, a pliki normalnie na serwerze).

0

[???] openFileDialog1.ShowDialog();
openFileDialog1.Filter = "Bitmap Files|*.bmp";
string zdun = openFileDialog1.FileName;
string dbConnecti;
OdbcConnection ETO;
dbConnecti = polaczenie;
ETO = new OdbcConnection(dbConnecti);

        OdbcCommand MyCommand = new OdbcCommand("INSERT INTO foto  VALUES (NULL,@fileData)", ETO);
        //SqlCommand cmd = new SqlCommand("INSERT INTO BLOBTest (BLOBData) VALUES (@BLOBData)", cn);
        String strBLOBFilePath = @"C:\Documents and Settings\roblac\Pulpit\wzp\a.bmp";
        //String strBLOBFilePath = @'"'+ zdun + '"';
        
        FileStream fsBLOBFile = new FileStream(strBLOBFilePath, FileMode.Open, FileAccess.Read);
        Byte[] bytBLOBData = new Byte[fsBLOBFile.Length];
        fsBLOBFile.Read(bytBLOBData, 0, bytBLOBData.Length);
        fsBLOBFile.Close();


        OdbcParameter prm = new OdbcParameter(strBLOBFilePath, OdbcType.Binary, bytBLOBData.Length, ParameterDirection.Input, false,
                    0, 0, null, DataRowVersion.Current, bytBLOBData);
        MyCommand.Parameters.Add(prm);
        ETO.Open();
       
        
        MyCommand.ExecuteNonQuery();  <- ERROR [HYT00] [MySQL][ODBC 3.51 Driver][mysqld-5.0.15-nt]Column 'zdjecia' cannot be null. Kompilacja OK, ale przy zapisie krzyczy taki błąd.



        ETO.Close();
0

A można wiedzieć jak wygląda tabela foto ? (tzn jakie ma nagłwówki i typy)

0

To baardzo prosta tabela
id - int autoincrement
zdjecia longblob
chodzi mi tylko o sam mechaniz dodawania zdjęć.

0

Do t3q.
Wiem o możliwości zapisu scieżki do bazy a pliku do jakiegoś folderu.
Ten wariant to ostateczność. Zdjęcia muszą zostać zapisane w jednym miejscu - czyli bazie.
Ten programik będzie zainstalowany na kilu komputerach, gdy komp.z docelowym folderem zostanie wyłączony to co się stanie ze zdjęciami?

Jeśli chodzi o wątek to ja pierwszy raz jestem na forum, uczestniczę w nim. Zawsze takie strony tylko przeglądałem, ale dzięki za poradę. [browar]

0

OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Title = "Otworz zdjęcia";
openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
openFileDialog.Filter = "Pliki typu (.jpg;.bmp;.gif)|.jpg;.bmp;.gif";
openFileDialog.ShowDialog();
string robo = openFileDialog.FileName;
string dbConnecti;
OdbcConnection ETO;
dbConnecti = polaczenie;
ETO = new OdbcConnection(dbConnecti);
FileStream fs = new FileStream(@Robo, FileMode.Open);
Byte[] fileData = new Byte[fs.Length];
fs.Read(fileData, 0, (int)fs.Length);
ETO.Open();

            OdbcCommand MyCommand = new OdbcCommand("INSERT INTO foto (zdjecia) VALUES (@zdjecia)", ETO);
            OdbcParameter robi = new OdbcParameter("@zdjecia", OdbcType.Image);
            robi.Value = fileData;
            MyCommand.Parameters.Add(robi);
            MyCommand.ExecuteNonQuery();
            ETO.Close();
            fs.Close();

Znowu ten sam problem!!!

1 użytkowników online, w tym zalogowanych: 0, gości: 1