Форум программистов, компьютерный форум, киберфорум
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. Показов 2573. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru