Сейчас на сайте:
Пользователей: 0
Отсутствуют.
Роботов: 2
Yandex, Googlebot
Гостей: 84
Всех: 86
ВНИМАНИЕ! Конкурс по программированию!
Проект Programmers.kz и школа hotPen3D2D предлагает Вам курсы по веб-дизайну, веб-программированию и компьютерной графике. Подробности здесь.
Информация к новости
- Просмотров: 665
- Автор: AlexanderMS
Как создать таблицу в MS Access при помощи DAO
Категория: Программирование » Delphi » Статьи и исходники » Базы данных » Access
1. Объявляем переменные:
var access, db, td, recordset: Variant; |
2. объявляем массив констант соответствия типов данных (между полями в Delphi и типами полей DAO)
arrMDBTypes: array[TFieldType] of Integer =
({dbText} 10 {ftUnknown},
{dbText} 10 {ftString},
{dbInteger} 3 {ftSmallint},
{dbLong} 4 {ftInteger},
{dbInteger} 3 {ftWord},
{dbBoolean} 1 {ftBoolean},
{dbDouble} 7 {ftFloat},
{dbCurrency} 5 {ftCurrency},
{dbDouble} 7 {ftBCD},
{dbDate} 8 {ftDate},
{dbTime} 22 {ftTime},
{dbDate} 8 {ftDateTime},
{dbLongBinary} 11 {ftBytes},
{dbLongBinary} 11 {ftVarBytes},
{dbInteger} 3 {ftAutoInc},
{dbLongBinary} 11 {ftBlob},
{dbMemo} 12 {ftMemo},
{dbLongBinary} 11 {ftGraphic},
{dbMemo} 12 {ftFmtMemo},
{dbLongBinary} 11 {ftParadoxOle},
{dbLongBinary} 11 {ftDBaseOle},
{dbBinary} 9 {ftTypedBinary},
{dbText} 10 {ftCursor}
{$IFDEF VER120}
,
{dbText} 10 {ftFixedChar},
{dbText} 10 {ftWideString},
{dbBigInt} 16 {ftLargeint},
{dbText} 10 {ftADT},
{dbText} 10 {ftArray},
{dbText} 10 {ftReference},
{dbText} 10 {ftDataSet}
{$ELSE}
{$IFDEF VER125}
,
{dbText} 10 {ftFixedChar},
{dbText} 10 {ftWideString},
{dbBigInt} 16 {ftLargeint},
{dbText} 10 {ftADT},
{dbText} 10 {ftArray},
{dbText} 10 {ftReference},
{dbText} 10 {ftDataSet}
{$ELSE}
{$ ,
{dbText} 10 {ftFixedChar},
{dbText} 10 {ftWideString},
{dbBigInt} 16 {ftLargeint},
{dbText} 10 {ftADT},
{dbText} 10 {ftArray},
{dbText} 10 {ftReference},
{dbText} 10 {ftDataSet},
{dbLongBinary} 11 {ftOraBlob},
{dbLongBinary} 11 {ftOraClob},
{dbText} 10 {ftVariant},
{dbText} 10 {ftInterface},
{dbText} 10 {ftIDispatch},
{dbGUID} 15 {ftGuid}
{$ENDIF}
{$ENDIF}
{$ENDIF}
);
|
// 3. загружаем DAO:
try
access := GetActiveOleObject('DAO.DBEngine.35');
except
access := CreateOleObject('DAO.DBEngine.35');
end;
// 4. открываем базу данных
try
db := access.OpenDatabase(yourDatabaseName);
except
exit
end;
// 5. созда¸м новую таблицу в открытой базе данных
td := db.CreateTableDef(yourTableName, 0, '', '');
// 6. добавляем в таблицу поле с описаниями
td.Fields.Append(td.CreateField(strFieldName,
arrMDBTypes[intDataType], Size));
// например,
td.Fields.Append(td.CreateField('ID', arrMDBTypes[intDataType], Size));
td.Fields.Append(td.CreateField('NAME', arrMDBTypes[intDataType], Size));
// 7. добавляем таблицу в список таблиц
db.TableDefs.Append(td);
// 8. открываем созданную таблицу
recordset := db.OpenTable(yourTableName, 0);
// 9. добавляем новую запись в открытую таблицу
recordset.AddNew;
// 10. изменяем значения поля
curField := recordset.Fields[0].Value := 1;
curField := recordset.Fields[1].Value := 'First record';
// 11. помещаем новую запись в базу
recordset.Update(dbUpdateRegular, False);
// где
const
dbUpdateRegular = 1;
// 12. закрываем recordset
recordset.Close;
// 13. закрываем базу данных
db.Close;
// 14. освобождаем экземпляр DAO
access := UnAssigned;
|
Автор неизвестен
Источник: delphiworld.narod.ru
Вернуться
Комментариев: 0
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.




