IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Длинная строка в Paradox
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 53
Пол: Мужской

Репутация: -  0  +


Есть у меня длинная строка (max 500 симв.). Ввод данных производится в TEdit. Потом эту строку нужно запихать в поле таблицы Paradox. По-всему получается, что подходящее поле - Memo. Но здесь возникает проблема: несовместимость типов!
Т.к. заполнение таблицы у меня идет в цикле, то нужно как-то сделать, или приведение типов, или что-то еще.
Помогите, пожалуйста.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 4)
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Насколько я помню, тип alfa в Парадоксе макс. 255 символов. Значит, нужно работать с BLOB. И, соответственно, данные вносить в dbmemo.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 53
Пол: Мужской

Репутация: -  0  +


Цитата(Ozzя @ 16.03.2006 10:07) *

BLOB данные вносить в dbmemo.

В том-то и дело. Поле dbmemo есть (Query.Fields[5]), а при присваивании Query.Fields[5]:=TempStr выдает ошибку.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


DRKB

Код
Как записать в BLOB поле большой текст (более 255)?


var
  S: TBlobStream;
  B: pointer;
  c: integer;

...

  Table1.Edit;
  S := TBlobStream.Create(Table1BlobField as TBlobField, bmWrite); {кажется, так}
  C := S.write(B, C);
  Table1.Post;
  S.Destroy;


или так  

var
  S: TMemoryStream;
  B: pointer;
  C: integer;

...

S := TMemoryStream.Create;

...

  Table1.Edit;
  S.Clear;
  S.SetSize(C);
  C := S.write(B,C);
  (Table1BlobField as TBlobField).LoadFromStream(S);
  S.Clear;
  Table1.Post;

...

S.Destroy;

    
Взято с http://delphiworld.narod.ru
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 53
Пол: Мужской

Репутация: -  0  +


Немного не то, что нужно. Я забыл сказать, что вписываю данные через SQL-запрос. Каюсь!
Вот текст:
Код

  Query_Segm.SQL.Text:='Select * from Segment_'+Segm+'.db where';
  Query_Segm.SQL.Add('(Code_Of_Dog='+IntToStr(Dog_Code)+') and');
  For i:=0 to Field_Count-2 do
     Query_Segm.SQL.Add('('+Query_Segm.Fields[i+2].FieldName+'="'+Temp_Array[i]+'") and');
     Query_Segm.SQL.Add('('+Query_Segm.Fields[i+2].FieldName+'="'+Temp_Array[Field_Count-1]+'")');
  Query_Segm.Active:=true;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.05.2024 1:24
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name