Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2010, 20:47   #1
Explosion
Пользователь
 
Регистрация: 08.11.2008
Сообщений: 50
По умолчанию Структура ADOQuery.SQL.Add

Проблема в следующем. Использую для добавления в таблицу структуру ADOQuery.SQL.Add(insert into таблица (название полей через запятую) values (значения соответствующих полей)).
И все работало замечательно, но после того как в таблице полей стало примерно около 10, получилась очень большая строчка кода в скобках после Add. И он стал так ругаться: String Literals may have at most 255 elements. Получается в запрос не влазит больше 255 символов я так понял...
Как думаете следует завести второй ADOQuery или есть лучше способы?
Explosion вне форума Ответить с цитированием
Старый 16.04.2010, 20:56   #2
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

есть
Код:
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add('insert into таблица (название полей через запятую)');
ADOQuery.SQL.Add('values (значения соответствующих полей)');
и таким вот макаром можно продолжать и дальше
maLoy*508 вне форума Ответить с цитированием
Старый 17.04.2010, 00:16   #3
Explosion
Пользователь
 
Регистрация: 08.11.2008
Сообщений: 50
По умолчанию

Спасибо большое, попробую!
Explosion вне форума Ответить с цитированием
Старый 17.04.2010, 07:11   #4
bezOn
Пользователь
 
Регистрация: 14.04.2010
Сообщений: 51
По умолчанию

У меня например, всегда такого вида sql запрос на вставку:

Код:
{Взято как пример из рабочего кода}
    qryExec.SQL.Clear;
    qryExec.SQL.Add('INSERT INTO CONTENT');
    qryExec.SQL.Add('(CON_ID, CON_IDCatalog, CON_Value1, CON_Value2, CON_Value3,');
    qryExec.SQL.Add('CON_INT1, CON_INT2, CON_Date1, CON_Date2,');
    qryExec.SQL.Add('CON_Order, CON_Comment)');
    qryExec.SQL.Add('VALUES');
    qryExec.SQL.Add('(:ID, :IDCatalog, :Value1, :Value2,');
    qryExec.SQL.Add(':INT1, :INT2, :Date1, :Date2,');
    qryExec.SQL.Add(':Order, :Comment)');
      qryExec.ParamByName('ID').asInteger := GENERATE_CON_ID(IDCatalog);
      qryExec.ParamByName('IDCatalog').asInteger := IDCatalog;
      qryExec.ParamByName('Value1').asString := 'Пустое значение...';
      qryExec.ParamByName('Value2').asString := '';
      qryExec.ParamByName('Value3').asString := '';
      qryExec.ParamByName('Int1').asString := '';
      qryExec.ParamByName('Int2').asString := '';
      qryExec.ParamByName('Date1').asString := '';
      qryExec.ParamByName('Date2').asString := '';
      qryExec.ParamByName('Order').asInteger := GENERATE_CON_Order(IDCatalog);
      qryExec.ParamByName('Comment').asString := '';
      
      qryExec.ExecSQL;
bezOn вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ADOQuery SQL запрос по времени, не по дате... Highlander1981 БД в Delphi 1 01.04.2010 01:08
SQL.add Grom48 БД в Delphi 2 13.12.2009 16:42
Удаление строки с помощью SQL запроса (Query1.SQL.ADD('Delete....')) Schutze Помощь студентам 6 29.11.2009 22:15
ADOQuery.SQL skymaster Общие вопросы Delphi 1 15.06.2009 20:27
Query1.SQL.Add('.......'); <--- ПОМОГИТЕ !!! SALEM БД в Delphi 3 24.11.2006 11:29