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

Создать новую таблицу в существующей БД

30.01.2014, 19:22. Показов 3665. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток, при создание курсового проекта возникла очень много вопросов по базам данным и вообще с самим Builder`ом. Надеюсь здесь мне помогут и расскажут, что к чему)
Начну с того что у меня есть уже созданая база данных через AbsoluteDB (кст очень классная вещь кто не слышал), вывел я ее через TABSTable + TDataSource и все это на TDBGrid.(Изображение №1)
Задача у меня в том, что мне нужно создать теперь в этой дб новую таблицу которая так же выводилась как и та таблица, что на кортинке, на данный момент я только сделал кнопку которая создает ее, а как снова вывести я без понятие.
Код кнопки:
C++
1
2
3
4
5
6
    void __fastcall TForm4::Button1Click(TObject *Sender)
{
Query->SQL->Clear();
Query->SQL->Add("CREATE TABLE ['"+Edit1->Text+"'] (№ AUTOINC NOT NULL,'Тип монітора' VARCHAR(40),'Фірма виробника' VARCHAR(40),'Роздільна здатність' VARCHAR(40),Вартість CURRENCY,Вага VARCHAR(40),PRIMARY KEY IndexName (№))");
Query->ExecSQL();
}
Тоесть я вхожу в "Создать базу" ввожу название базы и жму "создать базу" при нажатие открывается уже новая таблица в которой я записываю разную информацию.
Миниатюры
Создать новую таблицу в существующей БД  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.01.2014, 19:22
Ответы с готовыми решениями:

Создать новую таблицу в уже существующей БД MySQL
подскажите пожалуйста, кто знает..... хочу создать таблицу в уже существующей базе данных здесь показан код который я использую для...

Создать новую таблицу без пустых ячеек из существующей
Возможно ли из таблицы вида 7/27/2010 10 10.00 7/28/2010 50 60.00 7/30/2010 35 * 95.00 7/30/2010 -20 75.00 ...

Создать таблицу из существующей с изменением размера полей
Приветствую всех. Есть таблица с полем символьного типа неизвестной длины (но точно не меньше 90 символов). Надо создать новую таблицу с...

32
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
06.02.2014, 00:51
Студворк — интернет-сервис помощи студентам
Выложи код как ты заносишь в комбик список таблиц и как ты создаёшь таблицу?
0
 Аватар для trylepta
0 / 0 / 0
Регистрация: 30.01.2014
Сообщений: 45
06.02.2014, 00:55  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
__fastcall TForm2::TForm2(TComponent* Owner)
    : TForm(Owner)
{
        ABSSession1->GetTableNames("db",ComboBox1->Items);
        ComboBox1->ItemIndex=0;
}
//---------------------------------------------------------------------------
void __fastcall TForm2::ComboBox1Change(TObject *Sender)
{
        ABSTable1->Close();
        ABSTable1->TableName = ComboBox1->Text;
        ABSTable1->Open();
}

C++
1
2
3
4
5
6
    Form2->ABSTable1->Close();
    Form2->ABSQuery1->SQL->Clear();
    Form2->ABSQuery1->SQL->Add("CREATE TABLE '"+Edit2->Text+"' (№ AUTOINC NOT NULL,'Тип монітора' VARCHAR(40),'Фірма виробника' VARCHAR(40),'Роздільна здатність' VARCHAR(40),Вартість CURRENCY,Вага VARCHAR(40),PRIMARY KEY IndexName (№))");
    Form2->ABSQuery1->ExecSQL();
    Form2->ABSQuery1->Close();
    Form2->ABSSession1->Open();
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
06.02.2014, 01:05
Цитата Сообщение от trylepta Посмотреть сообщение
void __fastcall TForm2::ComboBox1Change(TObject *Sender)
{
* * * * ABSTable1->Close();
* * * * ABSTable1->TableName = ComboBox1->Text;


C++
1
2
3
4
5
6
void __fastcall TForm2::ComboBox1Change(TObject *Sender)
{
        ABSTable1->Close();
        ABSTable1->TableName = ComboBox1->Items->Strings[ComboBox1->ItemIndex];
        ABSTable1->Open();
}
Добавлено через 1 минуту
Цитата Сообщение от trylepta Посмотреть сообщение
__fastcall TForm2::TForm2(TComponent* Owner)
* * : TForm(Owner)
{
* * * * ABSSession1->GetTableNames("db",ComboBox1->Items);
* * * * ComboBox1->ItemIndex=0;
}
Вот этот код ещё надо использовать после тогоо как ты создаёшь таблицу
1
 Аватар для trylepta
0 / 0 / 0
Регистрация: 30.01.2014
Сообщений: 45
06.02.2014, 19:04  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void __fastcall TForm2::Button3Click(TObject *Sender)
{
 if(Edit1->Text.IsEmpty())
  {
   Application->MessageBox(L"Введите имя базы", L"ERROR", MB_OK | MB_ICONERROR);
  }
 else 
 {
    Form2->ABSQuery1->SQL->Clear();
    Form2->ABSQuery1->SQL->Add("CREATE TABLE '"+Edit2->Text+"' (№ AUTOINC NOT NULL,'Тип монітора' VARCHAR(40),'Фірма виробника' VARCHAR(40),'Роздільна здатність' VARCHAR(40),Вартість CURRENCY,Вага VARCHAR(40),PRIMARY KEY IndexName (№))");
    Form2->ABSQuery1->ExecSQL();
    Form2->ABSQuery1->Close();
     if(Form2->ABSQuery1->RecordCount >0)
   {
    Application->MessageBox(L"база данных уже существует", L"сообщение", MB_OK | MB_ICONINFORMATION);
   }
     else
   {
     Label24->Caption="База создана";
   }
 }
}
Что не так в коде? проверка на едит2 работает, а вот проверка на таблицу нет((
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
07.02.2014, 10:28
Цитата Сообщение от trylepta Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
Form2->ABSQuery1->SQL->Clear();
 Form2->ABSQuery1->SQL->Add("CREATE TABLE '"+Edit2->Text+"' (№ AUTOINC NOT NULL,'Тип монітора' VARCHAR(40),'Фірма виробника' VARCHAR(40),'Роздільна здатність' VARCHAR(40),Вартість CURRENCY,Вага VARCHAR(40),PRIMARY KEY IndexName (№))");
 Form2->ABSQuery1->ExecSQL();
 Form2->ABSQuery1->Close();
 if(Form2->ABSQuery1->RecordCount >0)
 {
 Application->MessageBox(L"база данных уже существует", L"сообщение", MB_OK | MB_ICONINFORMATION);
 }
 else
 {
 Label24->Caption="База создана";
 }
Это условие не совсем правильное для проверки таблицы

Добавлено через 3 минуты
Выбор таблицы Access
0
 Аватар для trylepta
0 / 0 / 0
Регистрация: 30.01.2014
Сообщений: 45
10.02.2014, 17:31  [ТС]
Sasha, Делаю запрос
C++
1
    Form2->ABSSession1->GetTableNames("db",SL,False);
Ругается что "Extra parametr in call to _Fastcall ...
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
10.02.2014, 18:40
Цитата Сообщение от trylepta Посмотреть сообщение
("db",SL,False);
Откуда здесь взялся 3 параметр? Если их там 2 должно быть
0
 Аватар для trylepta
0 / 0 / 0
Регистрация: 30.01.2014
Сообщений: 45
10.02.2014, 22:21  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
Откуда здесь взялся 3 параметр? Если их там 2 должно быть
Если я уберу 1 параметр то будет писать, что нету такой базы.
а именно:
[bcc32 Error] Unit3.cpp(35): E2034 Cannot convert 'TStrings * const' to 'UnicodeString'
[bcc32 Error] Unit3.cpp(35): E2342 Type mismatch in parameter 'DatabaseName' (wanted 'const UnicodeString', got 'TStrings *')
[bcc32 Error] Unit3.cpp(35): E2193 Too few parameters in call to '_fastcall TABSSession::GetTableNames(const UnicodeString,TStrings *)'
Добавлено через 2 часа 27 минут
Еще один вопрос, столкнулся с сортировкой, мне нужно именно методом вставке к одному столбцу, в столбце находятся только цифры, как это реализовать, сам алгоритм я знаю, а вот как обращаться к столбцу и потом обратно вывести это я без понятие, все это дело должно выводиться и показываться на DBGrid.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
11.02.2014, 00:06
Зачем выдумывать велосипед ты вот так вот писал уже
C++
1
ABSSession1->GetTableNames("db",ComboBox1->Items);
0
 Аватар для trylepta
0 / 0 / 0
Регистрация: 30.01.2014
Сообщений: 45
11.02.2014, 00:47  [ТС]
Sasha, Ты как всегда прав, помоги теперь с сортировкой, я писал в том посте где ошибка
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
11.02.2014, 01:18
Цитата Сообщение от trylepta Посмотреть сообщение
мне нужно именно методом вставке к одному столбцу
А почему именно этот метод?
0
 Аватар для trylepta
0 / 0 / 0
Регистрация: 30.01.2014
Сообщений: 45
11.02.2014, 16:17  [ТС]
Sasha, Такое задание курсовой работы
0
 Аватар для trylepta
0 / 0 / 0
Регистрация: 30.01.2014
Сообщений: 45
12.02.2014, 21:52  [ТС]
UP. Есть идеи как реализовать сортировку методом вставки?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.02.2014, 21:52

Создать новую таблицу на основании другой
Прошу помощи. из таблицы необходимо сделать так, чтобы отображались в таблице нужные данные по бухтовке в каждую строку. Например: ...

Создать новую таблицу на основе предыдущих
Доброй ночи Есть Таблица1 с полями: ID код статус 1 13 А 2 14 А 3 15 Д 4 16 ...

Как из VBA создать новую таблицу в Access?
ка из VBA создать новую таблицу в Access? Спасибо!!!

Как создать новую таблицу, взяв данные из старой?
Есть таблица в XLS. Нужно сделать новую таблицу, взяв данные из той, только в другом порядке. Просто вытягивание данных не помогает,...

Возможно ли программно создать новую таблицу в файле БД Access?
Собственно и вся суть вопроса в заголовке. Можно ли из vb.net создать в файле .accdb новую таблицу с такими то полями?


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

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru