Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 15.05.2020, 17:02   #1
skif68
 
Регистрация: 08.03.2019
Сообщений: 7
По умолчанию Пробел в SQL запросе

Доброе время суток!
Вопрос в следующем:
При помощи SQL создаю в DBGrid новый столбец и присваиваю имя выбранной из календаря даты, все работает только число и месяц в заголовке созданного столбца DBGrid и в ADOQuery отображается слитно( 14апреля). Вопрос как сделать что бы между числом и месяцем был пробел.
Код:
procedure TForm1.MonthCalendar1Click(Sender: TObject);
var
sa: string;

begin
sa:=FormatDateTime('dd'+'mmmm',MonthCalendar1.Date); // записываю в переменную выбранную дату
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(Format('ALTER TABLE Tab2 ADD column %s TEXT(10)',[sa]));
DBGrid2.Columns.Add.FieldName:=sa;
ADOQuery1.ExecSQL;
ADOQuery1.Active:= False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT *');
ADOQuery1.SQL.Add('FROM Tab2');
ADOQuery1.Active:= True;
ADOQuery1.Refresh;
DBGrid2.Columns.RebuildColumns; 
end;
skif68 вне форума Ответить с цитированием
Старый 16.05.2020, 02:18   #2
Viktor61
Пользователь
 
Регистрация: 05.05.2018
Сообщений: 22
По умолчанию

Цитата:
Сообщение от skif68 Посмотреть сообщение
sa:=FormatDateTime('dd'+'mmmm',Mont hCalendar1.Date);
М.б. надо sa:=FormatDateTime('dd'+' mmmm',MonthCalendar1.Date);? т.е. между 'dd' и 'mmmm' добавить пробел?
Viktor61 вне форума Ответить с цитированием
Старый 16.05.2020, 09:57   #3
skif68
 
Регистрация: 08.03.2019
Сообщений: 7
По умолчанию

Пробовал sa:=FormatDateTime('dd'+' '+'mmmm',MonthCalendar1.Date); при компиляции выдает ошибку синтаксиса, так же пробовал вместо самого пробела вставлять #32 ошибка та же
skif68 вне форума Ответить с цитированием
Старый 16.05.2020, 19:15   #4
BDA
Модератор
Заслуженный модератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 5,546
По умолчанию

А так?
Код:
sa:=FormatDateTime('dd mmmm',MonthCalendar1.Date);
ADOQuery1.SQL.Add(Format('ALTER TABLE Tab2 ADD column "%s" TEXT(10)',[sa]));
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 17.05.2020, 00:26   #5
skif68
 
Регистрация: 08.03.2019
Сообщений: 7
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
А так?
Код:
sa:=FormatDateTime('dd mmmm',MonthCalendar1.Date);
ADOQuery1.SQL.Add(Format('ALTER TABLE Tab2 ADD column "%s" TEXT(10)',[sa]));
пробовал все равно выдает "ошибка синтаксиса при определении поля", причем если прописать вот так
Код:
sa:=FormatDateTime('dd'+'_'+' mmmm',MonthCalendar1.Date);
то все нормально

Последний раз редактировалось skif68; 17.05.2020 в 00:31.
skif68 вне форума Ответить с цитированием
Старый 17.05.2020, 03:57   #6
BDA
Модератор
Заслуженный модератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 5,546
По умолчанию

А так?
Код:
sa:=FormatDateTime('dd mmmm',MonthCalendar1.Date);
ADOQuery1.SQL.Add(Format('ALTER TABLE Tab2 ADD column [%s] TEXT(10)',[sa]));
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 17.05.2020, 10:35   #7
skif68
 
Регистрация: 08.03.2019
Сообщений: 7
По умолчанию

BDA Спасибо большое помогло все работает как планировал
skif68 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Убрать пробел amadeus017 Microsoft Office Excel 4 01.04.2015 06:03
добавить пробел Olya1985 Microsoft Office Excel 8 17.02.2011 19:30
Как заменить обычний пробел на неразрывный пробел Jaroslav Microsoft Office Excel 2 05.05.2010 11:57
Пробел!? Paul_AG Общие вопросы C/C++ 7 11.05.2009 17:19
каксделать пробел VolkasHanas Microsoft Office Access 2 21.09.2008 17:00


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS