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

ADOQuery (SQL запрос) c++ builder 6

28.11.2015, 16:46. Показов 2591. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер, подскажите в чём ошибка SQL запрос должен переименовать столбец из Flat в House:
C++
1
2
3
4
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("ALTER TABLE FTable RENAME COLUMN Flat TO House ");
ADOQuery1->ExecSQL();
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.11.2015, 16:46
Ответы с готовыми решениями:

Сложный SQL запрос для ADOQuery
Возможно ли в зависимости от значения некоторых полей выводить соответствующий результат?? т.е. я ищу что-то вроде if один where не...

Как сделать запрос? SQL для ADOQuery
Есть таблица TakeOutKind, а в ней поля: Code (длинное целое), TakeOutKind (memo), TakeOut (денежное), Limint (денежное) и TakeOutFactor...

SQL запрос через ADOQuery из нескольких таблиц
Здравствуйте! В общем, проблема такая.. Нужно мне составить отчет, который содержит данные из нескольких таблиц. С этим проблем нет,...

11
55 / 18 / 19
Регистрация: 11.11.2014
Сообщений: 463
28.11.2015, 18:48
Не знаю в чём ошибка, но ты очищаешь всё что в SQL. Соответственно ты можешь написать заново, не переименовывая
ADOQuery1->SQL->Add("SELECT "Что нужно" AS "Соответственно название" FROM "Откуда"");
0
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 11
28.11.2015, 18:54  [ТС]
И как с помощью этого можно переименовать столбцы?
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
28.11.2015, 20:05
Aleksey-96,

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
void __fastcall TForm1::Button4Click(TObject *Sender)
{
  TStringList *SL = new TStringList();
  int Index;
  SL->Clear();
  ADOQuery1->GetFieldNames(SL);
  if(!SL->Find("House",Index))
  {
    ADOQuery1->Close();
    ADOQuery1->SQL->Clear();
    ADOQuery1->SQL->Add("ALTER TABLE FTable ADD House char");
    ADOQuery1->ExecSQL();
    ADOQuery1->Close();
    ADOQuery1->SQL->Clear();
    ADOQuery1->SQL->Add("UPDATE FTable SET House=Flat");
    ADOQuery1->ExecSQL();
    ADOQuery1->Close();
    ADOQuery1->SQL->Clear();
    ADOQuery1->SQL->Add("ALTER TABLE FTable DROP COLUMN Flat");
    ADOQuery1->ExecSQL();
    ADOQuery1->Close();
    ADOQuery1->SQL->Clear();
    ADOQuery1->SQL->Add("Select *from FTable");
    ADOQuery1->Open();
    delete SL;
    SL=NULL;
  }
  }
0
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 11
28.11.2015, 20:58  [ТС]
Спасибо большое,но способ, не подошёл, т.к. при использовании он просто придаёт всему столбцу (кроме заголовка) Flat.
Возможно ли как-то иначе сделать без ADOQuery но проще, просто уже отчаялся т.к. долго с этим бьюсь согласен на всё
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
28.11.2015, 21:04
Цитата Сообщение от Aleksey-96 Посмотреть сообщение
при использовании он просто придаёт всему столбцу (кроме заголовка) Flat
не правда он меняет заголовок, а текст остаётся прежним я проверял
0
55 / 18 / 19
Регистрация: 11.11.2014
Сообщений: 463
28.11.2015, 21:11
Любой метод? Вот. Только он переименовывает название столбца который выделен, но думаю не трудно будет исправить как надо.
C++
1
DBGrid1->Columns->Items[DBGrid1->SelectedIndex]->Title->Caption="на что переименовать";
Добавлено через 3 минуты
Если вдруг не получится исправить, то можно сделать так)
C++
1
2
if (DBGrid1->Columns->Items[DBGrid1->SelectedIndex]->Title->Caption == "Flat")
DBGrid1->Columns->Items[DBGrid1->SelectedIndex]->Title->Caption="House";
0
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 11
28.11.2015, 21:16  [ТС]
Да, этот метод не плох, но проблема в том, что в самой базе данных столбцу не присваивается тоже значение, что и в DBGrid
0
55 / 18 / 19
Регистрация: 11.11.2014
Сообщений: 463
28.11.2015, 21:18
Я не проверял, но попробуй вместо ->Title->Caption написать ->FieldName. Если не поможет, то я хз
0
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 11
28.11.2015, 21:22  [ТС]
В общем дабы, быть тактичнее мне нужно присвоить столбцам грубо говоря их индексы(пронумеровать их).

Добавлено через 3 минуты
Попробовал, но увы результат тот же...
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
29.11.2015, 00:02
Aleksey-96, вот пример замены одного поля
Вложения
Тип файла: rar Новая папка.rar (536.9 Кб, 9 просмотров)
0
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 11
29.11.2015, 08:22  [ТС]
Спасибо, Александр, много искал, видимо это единственный способ... Придётся переделать название столбцов в название команды, всем спасибо за помощь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.11.2015, 08:22
Помогаю со студенческими работами здесь

Как сделать запрос, конкатенирующий число с полем memo? SQL для ADOQuery
Есть таблица TakeOutKind, а в ней поля: Code (длинное целое), TakeOutKind (memo), TakeOut (денежное), Limint (денежное) и TakeOutFactor...

Запрос ADOQuery внутри другого ADOQuery реален?
Помогите сформировать запрос для двух ADOQuery. Есть 2 таблицы БД mssql: sotrudniki , table_hlp(Вспомогательная таблица для делания...

sql-запрос к БД MS Access из проги на Builder
Приложение в Builder на C++ хочу обратиться к существующей БД MS Access(скажем db.mdb) и выполнить sql-запрос на создание таблицы. Как это...

SQL Почему не выполняется такой запрос в Builder C++
Почему не выполняется такой запрос в Builder C++ ? (этот запрос ищет по имени строка где есть "1"+любая последовательность букв)...

ADOQuery SQL
Имеется запрос: ADOQuery1->SQL->Text = "UPDATE Technical_servicing SET Название_техники = :Nt, Модель = :Mod, Номер_ПТС = :NPTS WHERE...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru