Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 20.06.2012
Сообщений: 6

Как проверить наличие уже существующих данных в базе?

17.11.2012, 02:47. Показов 2116. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
доброе время суток! помогите пожалуйста! Есть таблица, надо сделать так, чтобы если я ввожу данные, допустим, название страны, то если она уже имеется в базе, будет выходить сообшение, что "такая страна уже есть в базе", и не будет добавляться, а если ее нет то она будет вводится в базу
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.11.2012, 02:47
Ответы с готовыми решениями:

Как проверить наличие данного имени в базе данных
Существует столбец Name как проверить есть-ли там определённое имя(на пример 1 (: )

Проверить на наличие данных в базе
Нужно с помощью PHP проверить, есть ли указанный Name в таблице. Таблица выглядит вот так - Уже второй час бьюсь, ничего не...

Не выходит проверить наличие в базе данных введенного ключа
Пытаюсь сделать проверку наличия ключа в базе данных. Всегда выдает что ключа нет. может что не так прописал? <html> ...

8
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
18.11.2012, 00:46
метод Locate() для поиска
0
 Аватар для Pirat-SR
67 / 67 / 10
Регистрация: 20.02.2012
Сообщений: 234
18.11.2012, 00:58
Что-то типа того:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
//---------------------------------------------------------------------------
 
void __fastcall TForm1::AddAbonentClick(TObject *Sender)
{
Form2->Edit1->Text = "";
Form2->Edit2->Text = "";
if(Form2->ShowModal() == IDOK)
{
}
else
{
if(Form2->Edit1->Text.IsEmpty())
Application->MessageBox("Не указан Ник ICQ! \nБаза не обновлена!",
"Внимание!", MB_ICONEXCLAMATION);
if(Form2->Edit2->Text.IsEmpty())
Application->MessageBox("Не указан Номер ICQ! \nБаза не обновлена!",
"Внимание!", MB_ICONEXCLAMATION);
boolean Propuskat;
Propuskat = false;
if((Form2->Edit2->Text.IsEmpty())|(Form2->Edit1->Text.IsEmpty()))
{}
else
{
TLocateOptions Opts;
Opts.Clear();
Opts << loPartialKey<<loCaseInsensitive;
if (Table1->Locate("ICQ Name",Form2->Edit1->Text,Opts))
{
Application->MessageBox("Данный Ник ICQ уже есть в базе данных! \nБаза не обновлена!",
"Внимание!", MB_ICONEXCLAMATION);
Propuskat = true;
}
};
if(Form2->Edit2->Text == "433033207")
{
Application->MessageBox("Данный Номер ICQ нельзя добавлять в базу данных! \nБаза не обновлена!",
"Внимание!", MB_ICONEXCLAMATION);
Propuskat = true;
};
if((Form2->Edit2->Text.IsEmpty())|(Form2->Edit1->Text.IsEmpty())|(Propuskat))
{}
else
{
Table1->InsertRecord(ARRAYOFCONST((Form2->Edit1->Text,
Form2->Edit2->Text)));
NetFotoClick(Form1);
}
}
if(Table1->RecordCount > 0)
{
UIBe->Visible = false;
DFe->Visible = false;
UFe->Visible = false;
DBEdit1->Enabled = true;
DBGrid1->Enabled = true;
DBImage1->Enabled = true;
}
else
{
UIBe->Visible = true;
DFe->Visible = true;
UFe->Visible = true;
DBEdit1->Enabled = false;
DBGrid1->Enabled = false;
DBImage1->Enabled = false;
}
}
//---------------------------------------------------------------------------
0
 Аватар для sesit
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 29
25.01.2013, 20:14
Цитата Сообщение от Pirat-SR Посмотреть сообщение
Что-то типа того:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
//---------------------------------------------------------------------------
 
void __fastcall TForm1::AddAbonentClick(TObject *Sender)
{
Form2->Edit1->Text = "";
Form2->Edit2->Text = "";
if(Form2->ShowModal() == IDOK)
{
}
else
{
if(Form2->Edit1->Text.IsEmpty())
Application->MessageBox("Не указан Ник ICQ! \nБаза не обновлена!",
"Внимание!", MB_ICONEXCLAMATION);
if(Form2->Edit2->Text.IsEmpty())
Application->MessageBox("Не указан Номер ICQ! \nБаза не обновлена!",
"Внимание!", MB_ICONEXCLAMATION);
boolean Propuskat;
Propuskat = false;
if((Form2->Edit2->Text.IsEmpty())|(Form2->Edit1->Text.IsEmpty()))
{}
else
{
TLocateOptions Opts;
Opts.Clear();
Opts << loPartialKey<<loCaseInsensitive;
if (Table1->Locate("ICQ Name",Form2->Edit1->Text,Opts))
{
Application->MessageBox("Данный Ник ICQ уже есть в базе данных! \nБаза не обновлена!",
"Внимание!", MB_ICONEXCLAMATION);
Propuskat = true;
}
};
if(Form2->Edit2->Text == "433033207")
{
Application->MessageBox("Данный Номер ICQ нельзя добавлять в базу данных! \nБаза не обновлена!",
"Внимание!", MB_ICONEXCLAMATION);
Propuskat = true;
};
if((Form2->Edit2->Text.IsEmpty())|(Form2->Edit1->Text.IsEmpty())|(Propuskat))
{}
else
{
Table1->InsertRecord(ARRAYOFCONST((Form2->Edit1->Text,
Form2->Edit2->Text)));
NetFotoClick(Form1);
}
}
if(Table1->RecordCount > 0)
{
UIBe->Visible = false;
DFe->Visible = false;
UFe->Visible = false;
DBEdit1->Enabled = true;
DBGrid1->Enabled = true;
DBImage1->Enabled = true;
}
else
{
UIBe->Visible = true;
DFe->Visible = true;
UFe->Visible = true;
DBEdit1->Enabled = false;
DBGrid1->Enabled = false;
DBImage1->Enabled = false;
}
}
//---------------------------------------------------------------------------
А если у меня будет задачка такого типа,имеется 5штук Edit: ФИО,Табельный,Отдел,номер отдела, сумма. Как сделать так чтобы при вводе в базу запретить ввод таких же данных,которые уже есть в базе?
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
25.01.2013, 20:28
sesit, читай второй пост
1
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
28.01.2013, 23:52
Цитата Сообщение от sesit Посмотреть сообщение
А если у меня будет задачка такого типа,имеется 5штук Edit: ФИО,Табельный,Отдел,номер отдела, сумма. Как сделать так чтобы при вводе в базу запретить ввод таких же данных,которые уже есть в базе?
Уникальный индекс по нужным полям
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
29.01.2013, 00:16
вы, что издеваетесь? какой Locate? поиск лучше всего организовывать по средствам запросов, но никаких методов, аля-Locate... надо грузить работой сервер баз данных, который под этой таки и заточен, а не клиента, который максимум для отображения...
0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
29.01.2013, 00:36
Уникальный индекс, например, "FIO;TABN;OTDEL;NOMER;SUMMA" уже не даст ввести данные второй раз и не надо ни Locate(), ни лишней выборки для проверки.

Но надо поймать исключениее и сказать юзеру, что такая запись уже существует
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
29.01.2013, 10:33
Lord_Voodoo, у человека 5 полей это ж сколько надо сделать запросов?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.01.2013, 10:33
Помогаю со студенческими работами здесь

DAO. Как получить имена всех существующих таблиц в определённой базе данных?
Как получить имена всех существующих таблиц в определённой базе данных???

Сортировка и проверку на наличие существующих данных в StringGrid.
Вот задали программу сделал почти всё (исходник в архиве). Как сделать что бы при добавлении данных выполнять проверку на наличие...

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

Переменная в строке ввода (SET /P) для редактирования уже существующих данных
Стоит задача такого плана. Нужно при запросе данных не вводить постоянно имена и другие данные, а редактировать уже существующие прямо в...

Как произвести поиск в базе данных на наличие совпадений с заданным массивом
есть многомерный массив например А(4,5) и есть таблица в базе данных как можно в цикле пробежаться по массиву и проверить наличие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru