Я работаю над визуальной программой для обработки изображений. Я пытаюсь добавить изображение в базу данных sql с помощью Visual C# (формы Windows) и ADO.NET.Добавление изображения в базу данных SQL с помощью Visual C#
Я преобразовал изображение в двоичную форму с помощью метода фильтрации, но байты изображения не сохраняются в базе данных. В столбце изображения базы данных сказано: < Двоичные данные> и данные не сохраняются!
Я пробовал много методов для вставки (с хранимыми процедурами и без них), но всегда получал то же самое в базе данных.
private void button6_Click(object sender, EventArgs e)
{
try
{
byte[] image = null;
pictureBox2.ImageLocation = textBox1.Text;
string filepath = textBox1.Text;
FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
image = br.ReadBytes((int)fs.Length);
string sql = " INSERT INTO ImageTable(Image) VALUES(@Imgg)";
if (con.State != ConnectionState.Open)
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
cmd.Parameters.Add(new SqlParameter("@Imgg", image));
int x= cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show(x.ToString() + "Image saved");
}
}
Я не получаю ошибку в коде. изображение было преобразовано, а запись выполнена в базе данных, но сообщает < Двоичные данные> в базе данных sql.
Почему вы не просто сохранить изображение на диск? – Arran
Непонятно, каким образом это не работает. Если в базе данных хранятся двоичные данные, это не так успешно? Или вы имеете в виду, что он хранит строку * literal * «»? Покажите код, который вы используете для хранения данных, и укажите, где вы заметили, что есть проблема. –
David
Показать код. Если вы покажете нам, как вы конвертируете изображение в байты и как вы его вставляете, есть больше шансов, что мы сможем найти проблему. – Tobberoth