Вы сохраняете путь изображения в базе данных (столбец monday_img_slot1) вместо фактического изображения.
Необходимо сначала преобразовать изображение в байт, а затем сохранить его в базе данных.
Ниже приведена демонстрация загрузки изображения в базу данных (в столбце name = "images" и столбце "data" - longblob, "id" - int, "name" - строковый тип)
Примечание: вам нужно использовать подготовленный оператор, чтобы избежать внедрения MySQL.
MySqlConnection con=null;
try
{
string myConnectionString = "server=localhost;database=test;uid=root;pwd=root;";
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "Image files | *.jpg";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
con = new MySqlConnection(myConnectionString);
string FileName = openFileDialog1.FileName;
FileStream fs = new FileStream(FileName, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
byte[] ImageData = br.ReadBytes((int)fs.Length);
br.Close();
fs.Close();
string CmdString = "INSERT INTO images(id, name, data) VALUES(@id, @name, @data)";
MySqlCommand cmd = new MySqlCommand(CmdString, con);
cmd.Parameters.Add("@id", MySqlDbType.Int32);
cmd.Parameters.Add("@name", MySqlDbType.VarChar, 45);
cmd.Parameters.Add("@data", MySqlDbType.LongBlob);
cmd.Parameters["@id"].Value = 5;
cmd.Parameters["@name"].Value = textBox1.Text;
cmd.Parameters["@data"].Value = ImageData;
con.Open();
int RowsAffected = cmd.ExecuteNonQuery();
if (RowsAffected > 0)
{
MessageBox.Show("Image saved sucessfully!");
}
}
else
{
MessageBox.Show("Incomplete data!", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
if (con!=null && con.State == ConnectionState.Open)
{
con.Close();
}
}
В вашем случае перед командой update конвертируйте изображение в байт:
MySqlConnection con=null;
try
{
con = new MySqlConnection(conname);
string captureimg = path;
FileStream fs = new FileStream(captureimg, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
byte[] ImageData = br.ReadBytes((int)fs.Length);
br.Close();
fs.Close();
string CmdString = "Update faculty_attend_record set monday_slot1=@monday_slot1,monday_img_slot1=@monday_img_slot1,monday_class_slot1=@monday_class_slot1,monday_room_slot1=@monday_room_slot1 where idfaculty=@idfaculty";
MySqlCommand cmd = new MySqlCommand(CmdString, con);
cmd.Parameters.Add("@monday_slot1", MySqlDbType.VarChar, 50);
cmd.Parameters.Add("@monday_img_slot1", MySqlDbType.LongBlob);
cmd.Parameters.Add("@monday_class_slot1", MySqlDbType.VarChar, 50);
cmd.Parameters.Add("@monday_room_slot1", MySqlDbType.VarChar, 50);
cmd.Parameters.Add("@idfaculty", MySqlDbType.VarChar, 50);
cmd.Parameters["@monday_slot1"].Value = "present";
cmd.Parameters["@monday_img_slot1"].Value = ImageData;
cmd.Parameters["@monday_class_slot1"].Value = classname1.Text;
cmd.Parameters["@monday_room_slot1"].Value = RoomNo1.Text;
cmd.Parameters["@idfaculty"].Value = idfaculty;
con.Open();
int RowsAffected = cmd.ExecuteNonQuery();
if (RowsAffected > 0)
{
MessageBox.Show("Image saved sucessfully!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
if (con!=null && con.State == ConnectionState.Open)
{
con.Close();
}
}
Примечание. Поскольку я не знаю полностью тип данных столбцов, присутствующих в вашей таблице, я предполагаю, что все это строка и один длинный символ, поэтому вы вносите изменения в соответствии с вашими требованиями.