Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление текста в базу данных, Как из Edit добавить текст в Paradox& 
:(
    Опции темы
FelistA
  Дата 20.7.2005, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 9.4.2005
Где: Кирово-Чепецк

Репутация: нет
Всего: нет



Привет всем! Начала делать свою прогу, и столкнулась с такой проблемой. Извините, может кому-то она покажется пустяковой, но я в базах данных ничего не понимаю.
Дело в том, что мне нужно из компонента Edit добавить текст написанный пользователем в базу данных Paradox. А как это делается, даже понятия не имею. Может кто-то знает, помогите пожалуйста. smile
PM MAIL   Вверх
Петрович
Дата 20.7.2005, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 6
Всего: 55



Вам для начала стоит почитать про работу с базами данных в какой нибудь книжке. С нуля, объяснять слишком долго.


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
HAS
Дата 20.7.2005, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ing
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 1.3.2005
Где: Internet

Репутация: нет
Всего: 2



Цитата
С нуля, объяснять слишком долго.

согласен, вот моя попытка !
Такс... для начала научимся подключать бд, я тут напишу как это делается, если что не таполучается, отвечу, по мере возможности 1 smile
1. Создаешь базу данных.
2. Вместе с Delphi идет программа BDE Administrator, там нажимаешь Ctr + N, в появившемся диалоговом окне выбираешь Standart, с права ты должна увидеть PATH жмешь на него ишешь свою бд, нажимаешь ок, сохраняешь и выходишь (по умолчанию имя будет STANDART.
3. Запускаешь Delphi.
4. На вкладке Data Access выбираешь компонент DataSource1 и кидаешь его на форму.
5. На вкладке BDE выбираешь компонент Table1 и так же кидаешь его на форму.
6. У компонента Table1 имеется DatabaseName, там выбираешь свою базу данных, в нашем случае STANDART.
7. В TableName надо найти имя своей таблицы.
8. Active=True
9. У DataSource1 DataSet=Table1
10. На вкладке Data Controls выбираешь DBGrid1 и также кидаешь ее на форму.
11. DataSouce=DataSource1
12. Кинь еще кнопочку, например Button1, щелкни 2 раза на кнопке и впиши следующий код

Код

With form1 Do Begin
    Table1.Append;
    If Form2.ShowModal=mrOk Then
      Table1.Post
    Else
      Table1.Cancel
  End


Итак с подключением и отображением бд закончили, теперь нам надо добавить запись, делается это следующим образом:
1. Создаешь еще одну форму.
2. пишешь uses unit1, что бы вторая форма "видела" первую !
3. На вкладке DataControls выбираешь компонент dbedit1, dbedt это тот же edit, но для работы с бд !
4. У dbedit1 имеется DataSource, там выбираешь DataSource1, т.е. DataSource=DataSource1.
5. В DataField ставишь нужную тебе колонку из твое бд.
и на каждую нужную тебе колонку проделываешь этот шаг (4)
6. Размещаешь кнопочку с Caption='Добавить'.
ФУууФ, вот вроде и все, пишу по пямяти, могут быть опечатки, но если что не понятно, спрашивай, отвечу по мере возможности smile
Добавлено @ 22:12
абсолютно согласен с Петрович'ом !
И еще имеется множество статей для начинающих, автор которых Vit, смотри в красную рамочку !

Это сообщение отредактировал(а) HAS - 20.7.2005, 22:13
PM MAIL   Вверх
Akella
Дата 21.7.2005, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Ещё проще
Код

Table1.Append;//для добавления
//или
Table1.Edit;//для редактирования
//и далее присваиваем значения
Table1.FieldByName('MyField').AsString := Edit1.Text;
Table1.FieldByName('MyIntField').AsInteger := 12;
Table1.Post;//сохраняем значения

//можно сбросить кеш, т.е. принудительно записать данные на диск, а пока
//мы этого не сделали, данные хранятся в памяти, пока BDE сам их не сбросит
//но так немного медленне может работать, если машина слабовата
Table1.FlushBuffers;


Абсолютно согласен с Петровичем!
PM MAIL   Вверх
FelistA
Дата 21.7.2005, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 9.4.2005
Где: Кирово-Чепецк

Репутация: нет
Всего: нет



Привет. Спасибо тем кто откликнулся. Я сегодня попробую что-нибудь сделать, если что еще напишу.
Но насчет того что я базы не знаю, вы все слишком буквально приняли. Начальные знания я имею, иначе вообще не совалась в это. Но все же спасибо HAS за то, что он все подробно так описал. Спасибо. smile
Книжки я тоже листала. Архангельского брала, правочную Дельфи (слышали о такой?), но почему-то там ничего не нашла.
PM MAIL   Вверх
Vit
Дата 21.7.2005, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207





--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
HAS
Дата 22.7.2005, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ing
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 1.3.2005
Где: Internet

Репутация: нет
Всего: 2



Цитата
Но все же спасибо HAS за то, что он все подробно так описал. Спасибо.

FelistA, да незачто ! smile
PM MAIL   Вверх
FelistA
Дата 22.7.2005, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 9.4.2005
Где: Кирово-Чепецк

Репутация: нет
Всего: нет



Возникла следующая проблема, при нажатии на кнопку «Принять», выскакивает следующая ошибка.

Project raised exception class EDataBaseError with message "Table1 Cannot perform this operation on a closed dataset" Process stoped.

Если делать так как сказал HAS форма "виснет", т.е. вообще не реагирует ни на что.

Исходный код:

Код

Form4.Table1.Edit;    
Form4.Table1.FieldByName('Nazvanie').AsString := Edit1.Text;    
Form4.Table1.Post;
Hide;
Form2.Show;


Пробовала добавить:

Код

Form4.Table1.Active:=false;
Form4.Table1.Edit;    
Form4.Table1.FieldByName('Nazvanie').AsString := Edit1.Text;    
Form4.Table1.Post;
Form4.Table1.Active:=true;
Hide;
Form2.Show;


Подскажите, что я деляю не так.

PM MAIL   Вверх
HAS
Дата 22.7.2005, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ing
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 1.3.2005
Где: Internet

Репутация: нет
Всего: 2



smile
я вообще-то редлагал вместо edit'a использовать dbedit
PM MAIL   Вверх
k2s
Дата 23.7.2005, 01:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 23.2.2005

Репутация: нет
Всего: нет



Так вроде-бы должно работать:
Код

Form4.Table1.Active:=True;    
Form4.Table1.Edit;     
Form4.Table1.FieldByName('Nazvanie').AsString := Edit1.Text;     
Form4.Table1.Post;    
Form4.Table1.Active:=False;    


Это сообщение отредактировал(а) k2s - 23.7.2005, 01:23
PM MAIL   Вверх
FelistA
Дата 23.7.2005, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 9.4.2005
Где: Кирово-Чепецк

Репутация: нет
Всего: нет



Цитата
я вообще-то редлагал вместо edit'a использовать dbedit

Да я и dbedit использовала, та же ошибка. Хотя я не совсем поняла, что прописать на второй форме для выхода и сохранения. А форма потом перестает реагировать на нажатие кнопок.

PM MAIL   Вверх
HAS
Дата 23.7.2005, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ing
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 1.3.2005
Где: Internet

Репутация: нет
Всего: 2



м...
а ты попробуй кнопочки BitBtn и свойство
Kind=bkOK -> добавить запись
Kind=bkCancel ->отмена действий
PM MAIL   Вверх
Vit
Дата 25.7.2005, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



smile - я ссылку давал на статью для новичков! Потрудитесь прочитать!


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
FelistA
Дата 25.7.2005, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 9.4.2005
Где: Кирово-Чепецк

Репутация: нет
Всего: нет



Цитата
я ссылку давал на статью для новичков! Потрудитесь прочитать!

Спасибо, почитала, и уже давно кстати.
PM MAIL   Вверх
HAS
Дата 26.7.2005, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ing
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 1.3.2005
Где: Internet

Репутация: нет
Всего: 2



выложи код, посмотрим smile
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0868 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.