Thursday, November 02, 2006

Accessing Image in Ms Access with dotnet (C#)

Dari judulnya mestinya dah tau ya.

Maksudnya sih mau akses Image langsung seperti di SQLServer,
ternyata harus berhubungan dengan Ole Object.
Iya , si Object itu sempet bikin binun gw .
Jadi begini ceritanya, gw coba bikin aplikasi di dotnet dan pake dbase nya access.
Dan seperti standar gw pake array byte buat akses file Image nya.
sintaknya di C# begini :

byte[] b = (byte[])odbcDataReader.getValue(odbcDataReader.getOrdinal(i));
MemoryStream ms = new MemoryStream(b);

Bitmap i = new Bitmap(ms);


tapi waktu di runtime ada error : "Invalid Parameter Used"

dan setelah gw search2 masalah di inet yang tercinta ini, masalah terselesaikan, hehe .
Jadi, ternyata OLE Object yang gw pake di Access u/ nyimpen image ternyata di 78 byte awalnya buat nyimpen headernya.
So I removed the 78 bytes "confusing" header Cool , and problem solved with this :

MemoryStream ms = new MemoryStream(b, 78, b.Length-78)


Thanks God


No comments: