Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 18:33 12.07.25 
Клубове/ Компютри и Интернет / Delphi Пълен преглед*
Информация за клуба
Тема Re: A на тоя диалект на SQL как се разбира дали полето [re: NikB]
АвторAda (Нерегистриран) 
Публикувано02.11.07 16:28  



Мога да ти предложа два еднакво тромави (но работещи) начина.

Първи начин:

TForm1 = class(TForm)
Query1: TQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;

DataSource1.DataSet = Query1
DBGrid1.DataSource = DataSource1

procedure TForm1.FormCreate(Sender: TObject);
begin
StrList:=TstringList.Create;
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('Select * from парадокската таблица');
Query1.Prepare;
Query1.Open;
StrList.Clear;
for ii:=0 to DBGrid1.Columns.count-1 do
StrList.Add(DBGrid1.Columns[ii].Fieldname);
DBGrid1.visible:=false; // ако пречи
end;

добавяне на поле с име, присвоено на NewFieldName

ii:=0; stop:=false;
while ((ii< StrList.Count) and (not stop)) do
begin
stop:=AnsiSameText(StrList, NewFieldName);
if not stop then inc(ii);
end;
if not stop
then begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('ALTER TABLE парадокската таблица ADD '+ NewFieldName +' integer'); {примерно}
Query1.Prepare;
Query1.ExecSQL;
StrList.Add(Edit2.Text);
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('Select * from парадокската таблица ');
Query1.Prepare;
Query1.Open;
end;

Втори начин:

Имаш
Table1,Table2:TТable
Table1 – таблица, към която трябва да се добавят полета
Table2 – празна таблица с всички необходими полета
Проверява се кои полета от Table2 липсват в Table1 и се добавят.

А има и трети начин: опитваш се да добавиш полетата, ако вече ги има, се получава едно дълго съобщение за грешка, което май няма други лоши последствия, освен стряскане на този, който работи с програмата.

Може да има и други начини, но с моя мижав опит с SQL стигнах до тук.



Цялата тема
ТемаАвторПубликувано
* Програмно добавяне на поле в съществуваща TTable Ada   15.03.05 13:38
. * Re: Съжалвяам, сбърках иконката Ada   15.03.05 13:43
. * Re: Програмно добавяне на поле в съществуваща TTab andrew_nikoloff   15.03.05 13:55
. * Благодаря Ada   01.11.07 11:18
. * Re: Благодаря Formal   01.11.07 14:03
. * A на тоя диалект на SQL как се разбира дали полето NikB   02.11.07 12:37
. * Зависи от базата andrew_nikoloff   02.11.07 12:48
. * Да, за MSSQL и MySQL има SQL заявки NikB   02.11.07 12:50
. * BDE API andrew_nikoloff   02.11.07 13:22
. * Няма да е по-лесен от tQuery NikB   02.11.07 14:18
. * Re: A на тоя диалект на SQL как се разбира дали полето Ada   02.11.07 16:28
. * Re: A на тоя диалект на SQL как се разбира дали по NikB   02.11.07 19:14
. * Сега обърнах внимание: FieldDefs.Add NikB   03.11.07 13:16
. * Re: Сега обърнах внимание: FieldDefs.Add Ada   05.11.07 11:37
. * Значи FieldDefs.Add работи NikB   05.11.07 13:21
. * Няма пълно щастие Ada   05.11.07 13:47
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.