Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  97

•  TDictionary Custom Sort  3 294

•  Fast Watermark Sources  3 044

•  3D Designer  4 799

•  Sik Screen Capture  3 294

•  Patch Maker  3 514

•  Айболит (remote control)  3 611

•  ListBox Drag & Drop  2 970

•  Доска для игры Реверси  81 419

•  Графические эффекты  3 898

•  Рисование по маске  3 210

•  Перетаскивание изображений  2 594

•  Canvas Drawing  2 713

•  Рисование Луны  2 540

•  Поворот изображения  2 147

•  Рисование стержней  2 151

•  Paint on Shape  1 557

•  Генератор кроссвордов  2 214

•  Головоломка Paletto  1 755

•  Теорема Монжа об окружностях  2 194

•  Пазл Numbrix  1 676

•  Заборы и коммивояжеры  2 046

•  Игра HIP  1 271

•  Игра Go (Го)  1 219

•  Симулятор лифта  1 463

•  Программа укладки плитки  1 205

•  Генератор лабиринта  1 535

•  Проверка числового ввода  1 341

•  HEX View  1 481

•  Физический маятник  1 348

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Как создать таблицу в MS Access при помощи DAO



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;





Похожие по теме исходники

Transfer Tables Excel-Access

Примеры работы с БД

Примеры оформления DBGrid

Пример использования DBGrid

 

База предприятий и менеджеров 0.99

Консольное DOS приложение

Работа с принтером

Локализация приложений

 



Copyright © 2004-2024 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте