Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2012, 15:42   #11
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Цитата:
Сообщение от Juliett Посмотреть сообщение
немного не поняла, как заюзать
мне не нужно отображение базы в программе
а как через него сохранять данные в ОП?, допустим прочитать их и присвоить значение какой-либо переменной?
А она и не будет отображаться. Или я чтото забыл уже.. я до дома доеду, посмотрю как я реализовывал.

А что должно отображаться на форме?
Текстовые поля и пару Memo?
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 15.05.2012, 15:52   #12
Juliett
Новичок
Джуниор
 
Регистрация: 15.05.2012
Сообщений: 6
По умолчанию

да, текстовые поля. и кнопка.
пользователь вводит данные
программа предлагает пройти тесты
если он есть в базе предлагает пройти заново или продолжить
далее похождение и запись результатов
на форме одна кнопка, 4 RadioButton, 5 лейбелов, 2 эдита
я думаю добавить еще одну кнопку для прохождения заново
пока ее нет, я не могу даже ввести пользователя и узнать есть он в базе или нет.....
Juliett вне форума Ответить с цитированием
Старый 15.05.2012, 20:28   #13
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Ну вот например кусочек одной из моих старых программ. Возможно они не совсем верны, я в тот момент только начал использовать БД.

Код:
// Некоторые компоненты

    ADOConnect: TADOConnection;
    ADOT: TADOTable;
    DS: TDataSource;
    DBGrid1: TDBGrid;
    LBTypeAll: TListBox;
    DBRichEdit1: TDBRichEdit;
    Button1: TButton;
    DBEdit1: TDBEdit;
    Button2: TButton;
    Button3: TButton;
    DBMini: TDBEdit;
...
При появлении формы происходит подключение к БД. Тут всётаки задействован компонент ADOT: TADOTable для вывода всех записей, но его можно смело удалить.

Код:
Procedure TConstruction.FormShow(Sender: TObject);
// Форма показывается
Begin
// Подключимся к БД
ADOConnect.ConnectionString :=
'Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source=' + ConstructionDir + ';' +
'Persist Security Info=False;' +
'Jet OLEDB:Database Password=';
ADOT.TableName := 'Construction';
ADOConnect.LoginPrompt := False;
ADOConnect.Connected := True;
// соединения
//ADOConnect.Connected := True;
ADOT.Active := True;
ListUpdate;
// End
End;
А вот процедура, которая просматривает один столбец таблицы БД и заносит все значения в ListBox. При этом не допускает повторений.

Код:
Procedure TConstruction.ListUpdate;
Var i : Integer;
    Ok : Boolean;
Begin
DS.Edit;
// Заполняем Листбокс
LBTypeAll.Clear;
// LBTypeAll.Items.Add('<Отменить>');
ADOT.Filter := '';
ADOT.First;
While Not ADOT.Eof Do
Begin
  Ok := False;
  For i := 0 To LBTypeAll.Count - 1 Do Begin
    If ADOT.FieldByName('Type').Value = LBTypeAll.Items.Strings[i] Then
    Ok := True;
  End;
  If Not Ok Then LBTypeAll.Items.Add(ADOT.FieldByName('Type').Value);
  ADOT.Next;
End;
LBTypeAll.ItemIndex := 0;
// End
End;
Закрытие, дисконекты.

Код:
Procedure TConstruction.FormClose(Sender: TObject; var Action: TCloseAction);
// Закрытие формы
Begin
DS.Edit;
// Если были сделанны изменения то сохраним их
If DBGrid1.EditorMode Or DBGrid1.DataSource.DataSet.Modified Then
DBGrid1.DataSource.DataSet.Post;
// Закроем соединения
ADOConnect.Connected := False;
ADOT.Active := False;
// End
End;
Эт всё что касается чтения из БД. Для создания и удаления у меня задействованы другии модули.

Вот к примеру добавление новой записи:

Код:
Procedure TNewR.BAddNewClick(Sender: TObject);
Begin
If (ETypeNew.Text = '') Or (EMini.Text = '') Or (REConstructionNew.Text = '') Then
  Begin
    // Сообщение об ошибке в заполнении полей
    Application.MessageBox(PChar('Все поля должны быть заполнены.'), 'Ошибка.', MB_ICONSTOP);
    Exit;
  End;
Construction.ADOT.Insert;
Construction.ADOT.FieldByName('Type').Value := ETypeNew.Text;
Construction.ADOT.FieldByName('Mini').Value := EMini.Text;
Construction.ADOT.FieldByName('Construction').Value := REConstructionNew.Text;
Construction.ADOT.Post;
Close;
End;
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обьявить програмно связь таблиц access из delphi kelod БД в Delphi 7 15.07.2010 17:53
Связь MS Access с Delphi KarolinaVlad Microsoft Office Access 4 18.03.2010 13:32
Связь erwin c Access Европеец Помощь студентам 1 06.07.2009 21:48
Связь Delphi с Access Light БД в Delphi 7 14.04.2008 18:09
Как из Delphi программно создать связь между двумя базами Access? Dimm Microsoft Office Access 6 12.01.2007 14:35