|
|
|
Memo-поля в Pervasive
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Какой TFieldtype необходимо установить для поля TTable, которое будет соответствовать Memo-полю базы, которое определяется утилитой Butil как LString. (В Галактике это поле определяется как Lvar). А хочу я это определить, чтобы данные из мемо-поля можно было читать из дельфийского приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2007, 16:32 |
|
||
|
Memo-поля в Pervasive
|
|||
|---|---|---|---|
|
#18+
Сорри, забыл: Версия Delphi - 7.0, версия первазива - 9.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2007, 16:35 |
|
||
|
Memo-поля в Pervasive
|
|||
|---|---|---|---|
|
#18+
Читай help там про Delphi куча всего. LString-> Longvarchar --> поле String переменной длины Поставь фирменные компоненты от pervasive PDAC и не будет проблем. -----------------отрывок из HELP----------------------------------- Pervasive PSQL and Borland Data Types This section details data type mappings. Pervasive PSQL and Borland Btrieve and Borland Pervasive PSQL and Borland The following table shows data type mappings from Pervasive PSQL column types to Delphi data types. Types on the left stored in Pervasive PSQL databases will be exposed by PDAC components as the types listed on the right Pervasive PSQL Data --> Type Delphi Data Type Binary ftBytes Varbinary ftVarBytes Longvarbinary ftBlob Char ftString Varchar ftString Longvarchar ftMemo Bigint ftBCD Numeric ftBCD Decimal ftBCD Bit ftBoolean Integer ftInteger Smallint ftSmallInteger Tinyint ftSmallInteger Uint ftInteger Usmallint ftWord Utinyint ftWord Ubigint ftBCD Real ftFloat Double ftFloat Float ftFloat Currency ftCurrency Identity ftAutoInc Smallidentity ftAutoInc TimeStamp ftDateTime Date ftDate Time ftTime ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2007, 07:28 |
|
||
|
Memo-поля в Pervasive
|
|||
|---|---|---|---|
|
#18+
проблема в том, что изначально я и использовал связку - TpvQuery, TDataSource, TDBGrid+TDBMemo. Delphi определяет данное поле (имеет название DATATEXT) как TBlobField (BlobType=ftBlob), и, в итоге, в контроле ДБМемо ничего не выводится по текущей записи, хотя данные там есть (это видно в Галактике) (естественно, квери активен). Такая картина повторяется для всего набора записей. Пробовал ставить тип BlobType=ftMemo; создавать собственное поле в PvQuery FieldList типа TMemoField с BlobType=ftMemo - все равно мемо-поле пустое. Что еще нужно для счастья? Судя по всему, версия компонентов Первазива - 9 Sp 2. Называются файлы так: xx 200d70.bpl ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2007, 10:25 |
|
||
|
Memo-поля в Pervasive
|
|||
|---|---|---|---|
|
#18+
1. Создал базу в РСС СREATE TABLE "ProbaMEMO"( "Id" IDENTITY DEFAULT '0', "Num" INTEGER NOT NULL , "Memo" LONGVARCHAR NOT NULL 2. назаполнял всякой ерундой в РСС insert into "ProbaMEMO"("memo") values ('ghfhfghfghgfhghwertewtertertttttttttttttttttttttttttttttttttttttttttttttttttt') 3. В дельфях TForm1 = class(TForm) PvS: TPvSession; DataSource1: TDataSource; DBM: TDBMemo; Button1: TButton; pt: TPvTable; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; Настроил на базу и в DBM все вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2007, 13:30 |
|
||
|
Memo-поля в Pervasive
|
|||
|---|---|---|---|
|
#18+
В догонку PvS: TPvSession; --> Указать сервер pt: TPvTable; --> Указать PvS (имя сессии), базу и таблицу DataSource1 --> Указать pt DBM: TDBMemo; --> Указать DataSource1 и поле "Мемо" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2007, 13:38 |
|
||
|
Memo-поля в Pervasive
|
|||
|---|---|---|---|
|
#18+
to БПА Попробовал ваш пример - у меня он тоже работает. А вот если пытаюсь читать из реальной таблицы - не выходит. Судя по всему, Галактика использует какой-то другой тип (еще раз - ею он определяется как Lvar, а butil-ем - как Lstring) Попробую привести выгруженную запись из этой таблицы (см. приложенный дбф файл). Эта запись имеет следующее содержимое Мемо-поля: Код: plaintext 1. 2. а PCC показывает следующее: Код: plaintext Что это за зверь такой? *Примерно понятно, что здесь хранятся аски-коды текста в шестнадцатиричном формате, вопрос как к ним получить доступ из делфи? Потому что при любом типе поля у меня получалось пустое значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 10:52 |
|
||
|
Memo-поля в Pervasive
|
|||
|---|---|---|---|
|
#18+
Формат файла таблицы какой? м.б. он еще 6.15, попробубуй rebuild в формат 9.5 перевести. Чего утилита maintenance показывает о таблице? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 12:49 |
|
||
|
Memo-поля в Pervasive
|
|||
|---|---|---|---|
|
#18+
9.5 не поддерживает LSTRING и LVAR. Конвертировать надо утилитой. Это из Help Legacy Data Types Some older (legacy) data types are not supported by the current release of Pervasive PSQL. The following table shows the new data type to use in place of the legacy data type. Table A-10 Legacy Type Type Code Replaced by Type Code LOGICAL(1) 7 UTINYINT 14 LOGICAL(2) 7 USMALLINT 14 LSTRING 10 VARCHAR 11 LVAR 13 LONGVARCHAR 21 NOTE 12 LONGVARCHAR 21 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 13:06 |
|
||
|
Memo-поля в Pervasive
|
|||
|---|---|---|---|
|
#18+
Вот что пишет butil о файле таблицы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 15:14 |
|
||
|
Memo-поля в Pervasive
|
|||
|---|---|---|---|
|
#18+
Записей мало конвертани в 9.5. PSQL9.1 пропатчи до 9.5 ( в 9.1 - это бетта в ней ошибки были). Я щас PSQL SUMMIT v10 пытаю. Давай базу (эту таблицу и ddf файлы) - попытыю ее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 07:34 |
|
||
|
Memo-поля в Pervasive
|
|||
|---|---|---|---|
|
#18+
С конвертацией дело не так просто. Не я принимаю решение. Попробую тестовый сервер создать и в нем проверить. А выложить наверное не получится, это таблица ПК Галактики docinfo, ее размер 24 мега. А папочка ддф 12 мегов весит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 11:48 |
|
||
|
Memo-поля в Pervasive
|
|||
|---|---|---|---|
|
#18+
Может сделать выборку (ну на 100 записей) из таблицы во временный файл и его скинуть вместе со структурой, что бутиль дает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 11:54 |
|
||
|
Memo-поля в Pervasive
|
|||
|---|---|---|---|
|
#18+
Nike85Может сделать выборку (ну на 100 записей) из таблицы во временный файл и его скинуть вместе со структурой, что бутиль дает? Тока надо чтоб эта временная у тебя тоже не работала. :) бутиль вообще не дает структуру таблицы (тока инфу о файле и его индексах) структура в *.ddf файлах или с самой. проге описана, можно PCC посмотреть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 12:29 |
|
||
|
Memo-поля в Pervasive
|
|||
|---|---|---|---|
|
#18+
А разве вот это не информация бутиля о полях? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Выкладываю выборку - 20 записей. В части из них Мемо-поле пустое, а где-то действительно заполненное. Еще что может помочь, доктор :)? Я на первазив.коме искал, но ответа так и не нашел. Может вам ответят. По крайней мере надеюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 15:20 |
|
||
|
Memo-поля в Pervasive
|
|||
|---|---|---|---|
|
#18+
Это информация о индексах( ключах). Без структуры таблицы ничего нельзя делать вообще. Структура хранится в отдельных. спец. файлах или зашита в программе. как я знаю галактика пользуется плоским btrieve и не использует SQL запросы pervasive. Сходи сюда http://support.softlab.ru/Forum/ZoneForum/default.asp?Forum=6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2007, 07:29 |
|
||
|
|

start [/forum/topic.php?fid=56&tid=2016113]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
36ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 281ms |

| 0 / 0 |
