Страница 1 из 1
Добавление колонок
Добавлено: 20 янв 2010, 17:13
FroL
У меня такая проблема. Есть Table,DataSource и DBGrid. Есть 2 столбца Z1 и Z2 с заполненными строчками. Мне надо добавить третий столбец Z3 программным путем(динамически). Но при добавлении у меня стирается вся информация, остается только названия столбцов.Что делать?
Re: Добавление колонок
Добавлено: 24 янв 2010, 14:50
Rick001
Попробуйте сначала создать все колонки, отключить автоматическую генерацию колонок, потом передать данные в таблицу.
Re: Добавление колонок
Добавлено: 24 янв 2010, 15:02
FroL
Мне надо время от времени добавлять новые колонки в эту таблицу, но при этом предыдущие записи должны оставаться. А как отключить автоматическую генерацию колонок и передать данные в таблицу?
Re: Добавление колонок
Добавлено: 24 янв 2010, 15:54
BulldozerBSG
Не до конца понятна суть вопроса. Если тебе необходимо добавить колонку в таблицу, то используй SQL запрос на изменение структуры таблицы. Для MySQL баз данных выглядит где то так "ALTER TABLE `test`.`new table` ADD COLUMN `value` VARCHAR(45) NOT NULL AFTER `name`;" Для других баз может слегка отличаться.
Re: Добавление колонок
Добавлено: 24 янв 2010, 16:53
FroL
У меня приложение работы с БД. У меня одна таблица - это список постоянных колонок. К каждой строке мне надо закрепить несколько картинок, т.е. при добавлении у меня вызывается другая форма с помощью которой заполняется и добавляется запись. В этой форме выбираются картинки. Мне надо их где то хранить пути к этим картинкам и я создал таблицу, в которую при добавлении в первую(основную) таблицу записи добавляется колонка и заполняется путями к этим рисункам. И когда я добавляю колонку у меня удаляются записи в других колонках.Вот какая у меня проблема. Builder ругается и пишет ошибку что не знает символ ALTER TABLE. А через чего вызывается это запрос?
Re: Добавление колонок
Добавлено: 24 янв 2010, 17:16
BulldozerBSG
FroL писал(а):У меня приложение работы с БД. У меня одна таблица - это список постоянных колонок. К каждой строке мне надо закрепить несколько картинок, т.е. при добавлении у меня вызывается другая форма с помощью которой заполняется и добавляется запись. В этой форме выбираются картинки. Мне надо их где то хранить пути к этим картинкам и я создал таблицу, в которую при добавлении в первую(основную) таблицу записи добавляется колонка и заполняется путями к этим рисункам. И когда я добавляю колонку у меня удаляются записи в других колонках.Вот какая у меня проблема. Builder ругается и пишет ошибку что не знает символ ALTER TABLE. А через чего вызывается это запрос?
Ого. Я так понял. Что для каждой картинки вы хотите создать столбец. То есть для первой, второй... картинки. А не лучше для хранения ссылок на картинки использовать другую таблицу типа (идентификатор, путь к картинки). А первой таблице использовать одно поле в строке, где указать список идентификаторов картинок через запятую.
Через что вызывается запрос? Наверное через компонент SQLQuery, если память мне не изменяет. И используется этот компонент вместо Table.
А так советую обратиться к какой нибудь книге по базам данных в Buildere или Delphi. Компоненты у них одни.
Re: Добавление колонок
Добавлено: 24 янв 2010, 17:21
FroL
Нет.Я создаю столбец для каждой строки первой таблицы и заполняю этот столбец путями к картинкам. Спасибо сейчас попробую.
Re: Добавление колонок
Добавлено: 25 янв 2010, 14:05
FroL
Спасибо.Все получилось.
Код: Выделить всё
Query1->Close() ;
Query1->SQL->Strings[0] = "ALTER Table Fale Add Z3 CHAR(50)";
Query1->ExecSQL();