Я боролся с этим некоторое время.Может кто-нибудь сказать мне, что я делаю неправильно?
Вот мой объект C #:
class FileObject
{
public int LocalInx { get; set; }
public byte[] File { get; set; }
public string FileName { get; set; }
}
Вот как я заполняю массив байтов файлом:
var FO = new FileObject();
FO.LocalInx = LocalInx;
FileInfo fi = new FileInfo(ti.Name);
FO.FileName = fi.Name;
FileStream fs = File.OpenRead(ti.Name);
try
{
byte[] bytes = new byte[fs.Length];
fs.Read(bytes,0,Convert.ToInt32(fs.Length));
fs.Close();
FO.File = bytes;
}
finally
{
fs.Close();
}
А вот как я добавляю строку в таблицу.Здесь я получаю сообщение об ошибке.
if (o is FileObject)
{
var fpc = new SqlCeCommand("insert into Files (File, UtilityMap, NotApplicable, LocalInx, FileName) values (@File, 1, 0, @LocalInx, @FileName)", con);
fpc.Parameters.Add("@File", SqlDbType.VarBinary, 8000).Value = ((FileObject)o).File;
fpc.Parameters.AddWithValue("@LocalInx",((FileObject)o).LocalInx);
fpc.Parameters.AddWithValue("@FileName", ((FileObject)o).FileName);
fpc.ExecuteNonQuery();
}