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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2011, 15:42   #1
Multiman
Пользователь
 
Регистрация: 13.10.2010
Сообщений: 91
По умолчанию БД Access в Delphi.

Всем доброго времени суток! Делаю курсовой проект который направлен на разработку программы, которая должна обеспечить перевод слов с русского языка на английский и с английского на русский. Есть база данных состоящая из 1 таблицы. В первом поле само слово, во втором его перевод. Сначала идут все английские слова в алфавитном порядке затем русские.

Собственно вопрос простой: как сделать, чтобы по значению первого поля(слово) выводилось значение второго (перевод)? Проще говоря как осуществить перевод? Слово которое необходимо перевести вводится в edit, а перевод выводится в memo.

Работу с БД в Delphi сам изучаю поэтому прошу помощи. Объясните пожалуйста как это реализовать. Если не сложно продемонстрируйте на Delphi.

Заранее всем большое спасибо.
Multiman вне форума Ответить с цитированием
Старый 07.03.2011, 19:34   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Хранить все в одной таблице неправильно. ИМНО. Я бы сделал количество таблиц больше одной. А чтобы в Edit менялось слово, то к БД нужно делать запрос в качестве параметра передавать исходное слово, а из базы вытаскивать его перевод и вставлять в Edit. Это просто. Кодом помочь пока не могу, т.к. зашел на 5 минут буквально на форум, некогда расписывать, над проектом работаю большим, сроки поджимают. Тоже когда нибудь начну писать свой переводчик
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 07.03.2011, 19:42   #3
Multiman
Пользователь
 
Регистрация: 13.10.2010
Сообщений: 91
По умолчанию

А почему неправильно? Это как то не соответствует правилам нормализации? Я в этом плохо разбираюсь.. Т.е. мне нужно ее разбить на 2 таблицы?
Multiman вне форума Ответить с цитированием
Старый 07.03.2011, 19:47   #4
Летучий_СкилетиК
Форумчанин
 
Аватар для Летучий_СкилетиК
 
Регистрация: 04.02.2011
Сообщений: 260
По умолчанию

Цитата:
Сообщение от Multiman Посмотреть сообщение
А почему неправильно? Это как то не соответствует правилам нормализации? Я в этом плохо разбираюсь.. Т.е. мне нужно ее разбить на 2 таблицы?
Создай 2 таблицы одну где содержатся русские слова, а во второй английские.
Летучий_СкилетиК вне форума Ответить с цитированием
Старый 07.03.2011, 19:55   #5
Multiman
Пользователь
 
Регистрация: 13.10.2010
Сообщений: 91
По умолчанию

Таблицу разобьем не проблема.

"...то к БД нужно делать запрос в качестве параметра передавать исходное слово, а из базы вытаскивать его перевод". А как такую штуку сделать?)
Multiman вне форума Ответить с цитированием
Старый 07.03.2011, 22:09   #6
-MagicAlex-
Пользователь
 
Аватар для -MagicAlex-
 
Регистрация: 28.12.2009
Сообщений: 42
По умолчанию

Цитата:
Сообщение от Летучий_СкилетиК Посмотреть сообщение
Создай 2 таблицы одну где содержатся русские слова, а во второй английские.
А смысл от этих двух таблиц?

ИМХО, одной таблицы вида (id, russianword, englishword) вполне достаточно для учебного проекта, хотя и присутствует ряд ограничений. Из соображений, что одно и то же слово может иметь несколько смысловых значений в другом языке, я бы сделал 3 таблицы в БД - русский слова, английские слова и третью таблицу, которая свяжет две первые таблицы в соотношении "многие-ко-многим".

Что касается реализации, все зависит от того каким образом вы хотите связать Access'овскую БД с прогой на Delphi. Предполагаю, будете связывать через технологию ADO. В таком случае гугл вам в помощь, потому что FAQ'ов про Delphi+ADO+БД предостаточно, притом большинство из них написанов стиле "нажмите Пуск, далее Программы...", в общем НЕ разобраться будет очень сложно
-MagicAlex- вне форума Ответить с цитированием
Старый 08.03.2011, 10:12   #7
Multiman
Пользователь
 
Регистрация: 13.10.2010
Сообщений: 91
По умолчанию

Не спорю, в интернете много написано как подключить бд через ADO. Не в этом проблема. Я спрашиваю как сформировать запрос чтобы пользователь ввел слово, а из базы извлекался его перевод? Везде идет работа с DBGrid, а мне надо просто ввел в edit вывелось в memo.

В интернете я не нашел как это сделать.. Может я не так ищу? подскажите плиз..
Multiman вне форума Ответить с цитированием
Старый 08.03.2011, 10:16   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Я спрашиваю как сформировать запрос чтобы пользователь ввел слово, а из базы извлекался его перевод?
А тебя спрашивают какая реляция будет у базы. В зависимости от того как ты построишь структуру базы (одна ли таблица или три) запросы будут выглядеть по разному. Определись сначала со структурой однозначно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.03.2011, 11:33   #9
Multiman
Пользователь
 
Регистрация: 13.10.2010
Сообщений: 91
По умолчанию

База из 1 таблицы. 2 поля:слово и перевод.
Multiman вне форума Ответить с цитированием
Старый 08.03.2011, 11:33   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

допустим в Edit1.Text находится английское слово.
таблица TranstateWord содержит два столбца:
EngWord и RusWord

тогда:
Код:
AdoQuery1.Close;
AdoQuery1.SQL.Text := 'Select RusWord from TranstateWord where EngWord = '''+Edit1.Text+'''';
AdoQuery1.Open;
if  AdoQuery1.RecordCount = 0 then ShowMessage('Нет такого слова в словаре!')
else
   Memo1.Lines.Append(AdoQuery1.FieldByName('RusWord').AsSring);
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi+Access qwertyqwerty БД в Delphi 1 25.03.2010 22:01
Access+Delphi BioVis Фриланс 6 25.03.2010 12:01
Access и Delphi minius БД в Delphi 1 17.06.2009 01:44
delphi+access eldar БД в Delphi 0 20.03.2009 22:56
БД (Delphi, Access) Arkuz БД в Delphi 2 02.10.2008 00:52