Как преобразовать тип данных Progress Database Character [] в строки C #? - PullRequest
1 голос
/ 02 января 2009

Базы данных Progress позволяют использовать тип данных Character [x]. Как я могу написать в конкретный x с использованием C # и ODBC?

Пожалуйста, не отвечайте, если не понимаете, что означает Символ [x] ... это не строка (массив символов), а массив строк (которые являются массивами символов).

Ответы [ 3 ]

2 голосов
/ 06 января 2009

Я понял это. Документация, которую я имею, ссылается на тип данных символа [20], формат x (24). символ [x] (где x - это число) похож на массив строк. Формат x (24) означает, что каждая строка в массиве может иметь длину 24 символа.

По существу символы [20], формат x (24) - это строка длиной 20 * 24 символа, в которой каждый «элемент массива» разделен точкой с запятой (;).

Если столбец "options" определен как символ [20], x (24), то для заполнения его строками от 1 до 20 нужно просто написать:

row.options = "1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20";

Чтобы заполнить все пустые строки, напишите:

row.options = ";;;;;;;;;;;;;;;;;;;";

2 голосов
/ 15 января 2009

Формат x (24) означает, что каждая строка в массиве может иметь длину 24 символа.

Не совсем точный, это формат DISPLAY, который используется многими процедурами Progress при отображении / печати / экспорте этого поля. Все символьные поля, независимо от того, имеют они экстент или нет, хранятся в БД в виде строки переменной длины. Таким образом, вы можете легко получить до 32 тыс. Данных в каждом из ваших 20 экстентов.

0 голосов
/ 02 января 2009

В драйвере Progress ODBC , похоже, вообще не упоминается этот тип?

...