Здравствуйте, nasyrov, Вы писали:
N>Есть БД MS Access, тама таблица, одно поле которой типа "Поле объекта OLE" — там храниться картинка. так вот вопрос, как в .NET (С#) вытащить это изображение?
Например, вот так (через OLE DB):
string conString = ...; // строка соединения к базе
string query = "SELECT picture FROM ..."; // текст запроса, возвращающий нужную картинку
byte[] pic = null;
using (OleDbConnection con = new OleDbConnection(conString))
{
using (OleDbCommand cmd = new OleDbCommand(query, con))
{
con.Open();
using (OleDbDataReader reader = cmd.ExecuteReader())
{
if (reader.Read())
{
int index = reader.GetOrdinal("picture");
if (!reader.IsDBNull(index))
{
long length = reader.GetBytes(index, 0, null, 0, 0);
pic = new byte[length];
reader.GetBytes(index, 0L, pic, 0, (int)length);
}
}
}
}
}
На выходе в массиве pic — картинка. Или null (если запрос ничего не вернет, если в возвращенном поле NULL и т.п).