![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как установить размер Blob поля в Access? [D7, Access]
CKC © (2006-05-04 12:43:00)Из Delphi создаю Access файл, создаю в нем таблицу с Blob (Ole) полем и пытаюсь положить в это поле файлы. Но все они обрезаются до 32 kb. Как установить нужный размер поля?
Вот на всякий случай используемый код:
var
DBEngine, Workspace: Variant;
db, td, recordset, recordset_f: Variant;
const
dbLangGeneral = ';LANGID=0x0409;CP=1252;COUNTRY=0';
begin
DBEngine := CreateOleObject('DAO.DBEngine.36');
Workspace := DBEngine.Workspaces[0];
Workspace.CreateDatabase('test', dbLangGeneral, EmptyParam);
db := DBEngine.OpenDatabase('test');
td := db.CreateTableDef('tbl1', 0, '', '');
td.Fields.Append(td.CreateField('fld1',arrMDBTypes[ftBlob]));
....
Johnmen (2006-05-04 15:59:00) [1]
> сначала сохранить файл из этого блоба на диске,
Приведи код.
> с диска вложить его в таблицу access
Приведи код.
CKC (2006-05-04 15:51:00) [2]Выбралось из таблицы бд на sql server'е :) с ним все нормально, оно из программы замечательно отображается ( в смысле документы которые в нём находятся открываются)
я только что провела эксперимент, если сначала сохранить файл из этого блоба на диске, а потом с диска вложить его в таблицу access , то почему-то всё работает... оставлю пока так.
Сергей М. (2006-05-04 15:24:00) [3]рассказывай, откуда и как взялось qryDoccontent.Value
CKC (2006-05-04 15:03:00) [4]да я пропустила просто, вот так на самом деле. это не важно. проблема-то не в этом. когда access файл ручками создаёшь, всё норамльно в него записывается, а когда программно, то blob обрезается. может параметр какой надо указать при создании?
recordset := db.OpenRecordset(test', EmptyParam);
recordset.AddNew;
recordset.Fields[0].Value := qryDoccontent.Value; //qryDoccontent - это blob поле в TDataSet
recordset.Update(dbUpdateRegular, False);// где dbUpdateRegular=1
Сергей М. (2006-05-04 14:21:00) [5]
> CKC © (04.05.06 13:55) [4]
Ну и где у тебя вызов метода Recordset.Edit или Recordset.AddNew ?
CKC (2006-05-04 13:55:00) [6]recordset := db.OpenRecordset(test', EmptyParam);
recordset.Fields[0].Value := qryDoccontent.Value; //qryDoccontent - это blob поле в TDataSet
recordset.Update(dbUpdateRegular, False);// где dbUpdateRegular=1
Сергей М. (2006-05-04 13:45:00) [7]
> пытаюсь положить в это поле файлы
Показывай как пытаешься..
CKC (2006-05-04 12:56:00) [8]Так нет никаких компонентов. COM объект делаю 'DAO.DBEngine.36'.
Desdechado (2006-05-04 12:47:00) [9]компоненты доступа?