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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2009, 17:51   #1
Jonner
 
Регистрация: 17.02.2009
Сообщений: 4
По умолчанию Проблема с базой данных.

Всем здравствуйте!

У меня возникла вот такая проблема:
В окно редактирования вводится строка и из него она должна переносится в таблицу(СУБД Paradox). Если в таблице уже существует строка с таким текстом, то должно выводиться сообщение об этом. В данной ситуации используется BDE.
Пишу следующий код:

Код:
for (Table1->First();! Table1->Eof;Table1->Next())
    {
     if (Table1Name->AsString == LabeledEdit1->Text)
        {
         ShowMessage ("Запись уже имеется в базе");
         Abort();
        }
    }
но он при любом тексте в окне редактирования независимо от того есть такая строка в таблице или нет пишет, что запись уже имеется.
Очень хотелось бы разобратся в чем дело!

Модератор: тег CODE

Последний раз редактировалось MaTBeu; 18.02.2009 в 19:40.
Jonner вне форума Ответить с цитированием
Старый 23.02.2009, 20:58   #2
Jonner
 
Регистрация: 17.02.2009
Сообщений: 4
По умолчанию

Никто разве не знает в чём дело?
Jonner вне форума Ответить с цитированием
Старый 23.02.2009, 21:35   #3
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Хм, а что вы проверяете на соответствие? Имя таблицы? Судя по коду, то да (Table1Name)
А должны ведь записи в таблице проверять.

ПыСы: мой вам совет - не уверены - сделайте пошаговую отладку.
И еще - проверьте соответствие сопоставляемых типов. Потому что char и AnsiString сравнивать нельзя.

Последний раз редактировалось MaTBeu; 23.02.2009 в 21:37.
MaTBeu вне форума Ответить с цитированием
Старый 24.02.2009, 16:14   #4
Jonner
 
Регистрация: 17.02.2009
Сообщений: 4
По умолчанию

1) Table1Name - это поле Name таблицы Table1. С этим всё в порядке.
2) На счёт типов: и "Table1Name->AsString" и "LabeledEdit1->Text" - AnsiString. С этим тоже всё хорошо.

3) Теперь пошаговая отладка. Здесь как-то не логично, на мой взгляд, получается. Я ввожу любой "текст", которого нет в таблице, в окно редактирования и, когда начинается поиск этого "текста" в таблице, то он вдруг изменяется на текст первой строки таблицы. И, естественно, значения обоих строк становятся равными и выводится сообщение, что запись уже существует.
Вот этого я и не могу понять. Почему так?
Jonner вне форума Ответить с цитированием
Старый 24.02.2009, 18:20   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Где-то в другом месте косяк скорее всего. При навигации по Table случаем в этот LabeledEdit1 ничего не заносите из таблицы (например, в OnAfterScroll каком-нибудь)?
pu4koff вне форума Ответить с цитированием
Старый 24.02.2009, 18:26   #6
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Код приведите, я не телепат, я только обучаюсь этому мастерству.
MaTBeu вне форума Ответить с цитированием
Старый 24.02.2009, 20:10   #7
Jonner
 
Регистрация: 17.02.2009
Сообщений: 4
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
При навигации по Table случаем в этот LabeledEdit1 ничего не заносите из таблицы (например, в OnAfterScroll каком-нибудь)?
Спасибо за подсказку. Как-то я об этом не подумал сразу. Сейчас буду пробовать что-нибудь с этим сделать.
Jonner вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тест с Базой Данных dimitriy1987 Помощь студентам 1 10.10.2008 20:08
проблема с базой 4321 Общие вопросы Delphi 1 19.09.2008 16:00
Проблема с базой данных или хостингом Distant PHP 4 02.08.2008 22:46
Помогите с базой данных Илья Microsoft Office Excel 3 20.12.2006 09:49