Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3

Не создаётся таблица

04.09.2009, 09:54. Показов 1909. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Ребята, подскажите, по такой проблеме хочу создать таблицу из программы

C++
1
2
3
4
5
6
7
void __fastcall TMainForm::Button1Click(TObject *Sender)
{
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Text = "CREATE TABLE Person ( Fam char(15) NOT NULL PRIMARY KEY, Nam char(15) NOT NULL PRIMARY KEY, Par char(15) NOT NULL PRIMARY KEY, Year_b integer)";
ADOQuery1->ExecSQL();
}
Но он мне пишет, что "КЛЮЧ УЖЕ СУЩЕСТВУЕТ"
Что не так в коде? Как можно решить эту проблему?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.09.2009, 09:54
Ответы с готовыми решениями:

Не создаётся исходник
Уважаемые эксперты. Срочно нужна Ваша помощь. Написал простенькую лабу (SMTP-клиент). При тестировании антивирус ругался (Dr Web), что в...

Не создаётся таблица в БД
Здравствуйте! Существует база данных: "atm-cms". Есть 2 файла: 1. Файл с формой отправки данных пользователя. (atm_install.php) 2. Файл...

Не создаётся таблица в MySql
Доброго времени суток. Возникла проблема при попытке создать несколько связных таблиц в бд. В консоли Mysql создаю бд...

10
125 / 116 / 17
Регистрация: 27.02.2007
Сообщений: 291
04.09.2009, 10:50
Ограничение PRIMARY KEY может использоваться только один раз для каждой отдельно взятой таблицы (Справочное руководство по операторам SQL)
Вероятно запрос д.б. такой:
SQL
1
2
3
4
5
6
7
8
CREATE TABLE Person ( 
ID INTEGER NOT NULL,
Fam CHAR(15) NOT NULL, 
Nam CHAR(15) NOT NULL, 
Par CHAR(15) NOT NULL, 
Year_b INTEGER,
PRIMARY KEY (ID)
)
1
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
04.09.2009, 11:15  [ТС]
А у меня так получилось

C++
1
2
3
4
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Text = "CREATE TABLE Дополнительная (P_Id int  PRIMARY KEY ,LastName varchar(255),FirstName varchar(255),Address varchar(255),City varchar(255))";
ADOQuery1->ExecSQL();
Добавлено через 2 минуты
АНК, а ты случаем не знаешь как можно удалить выделенную строку в DBGrid через запрос без условий. Просто выделенную строку, а то везде примеры показаны с условиями.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
04.09.2009, 11:35
чтобы удалить строку без условий, Вам поможет метод Delete (удаляет текущую строку)
0
125 / 116 / 17
Регистрация: 27.02.2007
Сообщений: 291
04.09.2009, 11:43
Sasha "удалить выделенную строку в DBGrid через запрос без условий"
Как это без условий? В SQL есть оператор DELETE. И запрос мы составляем так:
T-SQL
1
delete from tbl_name
- удаляя ВСЕ записи в таблице. А если надо удалить не все, то добавляем условие ...

А в чем конкретно проблема? Из DBGrid можно получить все необходимое для формирования условия.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
04.09.2009, 11:50  [ТС]
Проблема в том, что я хочу удалить просто выделенную строку через запрос помогите тогда с условием потому что такой пример не работает

C++
1
2
3
4
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Text = "DELETE * FROM Glavnaya WHERE (Invent_Number =:Invent_Number) AND (Number_in_Lan =:Number_in_Lan) AND (Department=:Department) AND (Processor=:Processor) AND (Memory=:Memory) AND (HDD=:HDD) AND (Room=:Room)";
ADOQuery1->ExecSQL();
Добавлено через 1 минуту
Цитата Сообщение от VoodooMan Посмотреть сообщение
чтобы удалить строку без условий, Вам поможет метод Delete (удаляет текущую строку)
А текущую строку через запрос как можно удалить?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
04.09.2009, 11:55
никак, запросу все равно, какая там у тебя текущая запись, запрос ты отправляешь в базу данных, ей тоже в принципе все равно... а вот TTable с текущей таблицей знает, какая запись текущая, вот и надо вызывать тот метод на таблице, с которой работаешь
0
125 / 116 / 17
Регистрация: 27.02.2007
Сообщений: 291
04.09.2009, 11:56
Цитата Сообщение от VoodooMan Посмотреть сообщение
чтобы удалить строку без условий, Вам поможет метод Delete (удаляет текущую строку)
Что-то такого метода в TDBGrid я не помню...

А вот если к TDBGrid привязать TDBNavigator, то у TDBNavigator'а есть возможность сформировать запрос на удаление выбранной строки. Необходимо только обеспечить переход в режим редактирования DataSet'а, что привязан к TDBGrid.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
04.09.2009, 12:04  [ТС]
Просто я хотел уровнять по скорости добавление и удаление записей в таблице. Так как добавление происходит через запрос это действительно происходит быстрее стандартного метода Insert();то я хотел и удаление строки сделать через запрос, а то стандартным методом Delete() происходит очень долго, что в последствии влияет на формирование отчёта сновыми данными.


А можно как-нибудь отследить попадание или обновление данных в таблицу Access?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
04.09.2009, 12:17
АНК, а кто говорил про грид... грид - только отображает то, что есть в таблице, а вот у таблицы такой метод есть
0
125 / 116 / 17
Регистрация: 27.02.2007
Сообщений: 291
04.09.2009, 12:42
VoodooMan, вот и я засомневался, все вроде о гриде разговор шел, а потом раз и Delete ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.09.2009, 12:42
Помогаю со студенческими работами здесь

Не создаётся таблица при условии
С самого начала проверка на наличие данных в таблицы, если false, то создаём таблицу с именем = login. Но таблица не хочет создаваться ( на...

Не создаётся таблица mysql в php, что может быть не так?
Здравствуйте, что может быть не так, пишет, что мол Ошибка при создании таблицы. Я установил сначала денвер, потом MySQL и в последнем...

Не создаётся exe файл. Создаётся папка netcoreapp2.0
На рабочем компе всё нормально, exe лежит в Debug. На домашнем может с настройками что намудрил, может чего лишнего установил... От...

ПодТаблицы с данными(Таблица-Таблица-Таблица-Таблица) и наследованием
Имеется такая база с таблицами Район-МО-Цель-Зачача. Несколько вариантов связей передумал уже, но не понимаю как сделать, чтоб данные не...

Производный класс Самоорганизующаяся таблица должен наследовать свойства и методы класса Таблица
класс таблица, содержащий целые числа Обьект класса таблица должен позволять: 1 инициализировать случайными числами таблицу 2...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru