Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Данные не записиваются в БД Access


Автор: Paradise 22.11.2006, 17:55
Привет, я создал подключение к таблице БД Access через ADOConection, ADOTable и DataSourse, но когда я на прямую записиваю данные в конкретную ячейку таблицы БД, то компилятор ошибки не ведет, а таблица пустая.
Запись происходит при нажатии Button'a

Код

procedure TForm1.Button6Click(Sender: TObject);
begin
        with ADOTable1 do
               begin
                       First;

                       Edit;

                       Fields.Fields[2].AsString := 'Const';

                       Post;

                       Close;
               end;

end;


В место строки
Код

Fields.Fields[2].AsString := 'Const';

Я еще писал
Код

FieldAddress('Caption') := 'Const';

и
Код

FieldValues['Caption'] := 'Const';

но и в этом случае таблица БД пуста.
Таблица имеет такой вид:

  Поле               Тип данных
Kl                    Счетчик
Caption           Текстовый
FontSize         Числовой
FontName       Текстовый
Color               Текстовый
Font_*            Текстовый 
Font_k            Текстовый
Font__            Текстовый
Font_-             Текстовый

Свойство ReadOnly, компонента ADOTable, равно False.
Помогите!!!!!!!!!!!!!!!!!!!!!!!!!! smile 

Автор: Rodman 22.11.2006, 18:06
Попробуй поля так назвать

Поле               Тип данных

Kl                    Счетчик
CaptionDesc           Текстовый
FontSizeDesc         Числовой
FontNameDesc       Текстовый
ColorDesc               Текстовый
Font_Desc             Текстовый 
Font_k                   Текстовый
Font__                  Текстовый
Font__Desc            Текстовый

Автор: SergeBS 23.11.2006, 09:33
Paradise, 
Цитата

Fields.Fields[2].AsString := 'Const';

Fields[2] у тебя - FontSize. Дальше тоже белиберда.
Цитата

First;
Edit;

Если записей нет, то надо - Append. Если есть - First лишнее. И т.д. F1 - полезная штука.


Автор: TaNK 23.11.2006, 10:25
Цитата(Paradise @ 22.11.2006,  17:55)
Привет, я создал подключение к таблице БД Access через ADOConection, ADOTable и DataSourse, но когда я на прямую записиваю данные в конкретную ячейку таблицы БД, то компилятор ошибки не ведет, а таблица пустая.
Запись происходит при нажатии Button'a

Код

procedure TForm1.Button6Click(Sender: TObject);
begin
        with ADOTable1 do
               begin
                       First;

                       Edit;

                       Fields.Fields[2].AsString := 'Const';

                       Post;

                       Close;
               end;

end;


В место строки
Код

Fields.Fields[2].AsString := 'Const';

Я еще писал
Код

FieldAddress('Caption') := 'Const';

и
Код

FieldValues['Caption'] := 'Const';

но и в этом случае таблица БД пуста.
Таблица имеет такой вид:

  Поле               Тип данных
Kl                    Счетчик
Caption           Текстовый
FontSize         Числовой
FontName       Текстовый
Color               Текстовый
Font_*            Текстовый 
Font_k            Текстовый
Font__            Текстовый
Font_-             Текстовый

Свойство ReadOnly, компонента ADOTable, равно False.
Помогите!!!!!!!!!!!!!!!!!!!!!!!!!! smile

Код

ADOTable1.First;
ADOTable1.Edit;
ADOTable1.Post;

так не поможет?

Автор: Paradise 23.11.2006, 15:18
Цитата

Код

Fields.Fields[2].AsString := 'Const';


Fields[2] у тебя - FontSize. Дальше тоже белиберда.Цитата
Код

First;
Edit;


Если записей нет, то надо - Append. Если есть - First лишнее. И т.д. F1 - полезная штука.


Fields[2] у меня - Сaption, уметь считать полезная штука, и записи уменя есть!!

Всем спасибо, я уже решил эту проблему.

Автор: SergeBS 24.11.2006, 08:30
Paradise, 
Fields[2] у тебя FontSize. Поскольку нумерация - с 0. Учи матчасть дальше. И заодно - правильно считать smile.

Автор: Paradise 24.11.2006, 14:57
SergeBS, извини ошибся.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)