Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > SQL запрос


Автор: legwar 27.1.2005, 19:06
Здравствуйте у меня вопрос
имеется обработчик sql запросов
Код

  query: String;
begin
    query:= edtQuery.Text; //Query text
    presults:= nil;
    try
    mysql_query(@mysqlrec, PChar(query)); //Send Query to server

Вопрос, как мне корректно сформировать запрос, превышающий 255 символов в строке
Код

Insert into table (`39 полей`) Values ('39 значений');


Автор: AntonSaburov 27.1.2005, 19:33
Для Delphi органичение по длине строки - 2 Гигабайта. Так что не задумывайся smile

Автор: legwar 27.1.2005, 19:36
Цитата(AntonSaburov @ 27.1.2005, 19:33)
Для Delphi органичение по длине строки - 2 Гигабайта. Так что не задумывайся smile

да, но переменная типа String, может иметь иметь максимальную длинную 255 символов

Автор: Kesh 27.1.2005, 19:44
legwar A Widestring - 2 Гига...

Автор: legwar 27.1.2005, 21:22
Код

query:=SqlQuery1.Text

Исправляет положение, но Edit1.text поле захватывать не хочет
Код

Insert into table (`a`,`f`) values ('''+Edit1.Text+''',''ads'');

В чем ошибка? smile

Автор: Kesh 28.1.2005, 00:37
legwar
Цитата(legwar @ 27.1.2005, 21:22)
В чем ошибка?

Чего пишет, на что ругается?..


Автор: Bes 28.1.2005, 07:38
Если, как я понял ты запрос вводишь с клавиатуры то ипользуй мемо и потом sql.text:=memo.lines;
а если в коде то просто делай не
sql.text:='.....';
а
sql.text:='';
sql.add('...');
sql.add('...');
sql.add('...');
или я не пойму, в чем проблема?

Автор: Medved 1.2.2005, 01:01
Цитата(legwar @ 27.1.2005, 22:36)
да, но переменная типа String, может иметь иметь максимальную длинную 255 символов


переменная типа string, интерпретируется по умолчанию тип AnsiString, и может вместить как вам уже сказали 2 Гб. А вот в ранних версиях тип string был синонимом типа ShortString, у которого и было ограничение в 255 симолов. Но если так уж хочется то с помощью директивы {$H-} можно сделать так, чтобы Delphi всегда интерпретировала тип string как ShortString.

Автор: ~FoX~ 2.2.2005, 16:59
Используй мемо - возможно запихать тужа аж 63 кила символов.
Если надо больше используй ТРчЕдит.

Цитата

Insert into table (`a`,`f`) values ('''+Edit1.Text+''',''ads'');

Попробуй

Код

Insert into table (`a`,`f`) values ('''+WideString(Edit1.Text)+''',''ads'');

Автор: legwar 3.2.2005, 21:23
спасибо всем ответившим я использовал
SQLQuery Format ('dd %s',[Edit1.Text]); вообщем пример из DRKB

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)