Как преобразовать тип данных Progress Database Character[] в строки C#?
Базы данных Progress позволяют использовать тип данных Character[x]. Как я могу написать в конкретный х, используя C# и ODBC?
Пожалуйста, не отвечайте, если вы не понимаете, что означает Character[x]... это не строка (массив символов), это массив строк (которые являются массивами символов).
3 ответа
Формат x(24) означает, что каждая строка в массиве может иметь длину 24 символа.
Не совсем точный, это формат DISPLAY, который используется многими процедурами Progress при отображении / печати / экспорте этого поля. Все символьные поля, независимо от того, имеют они экстент или нет, хранятся в БД в виде строки переменной длины. Таким образом, вы можете легко получить до 32 тыс. Данных в каждом из ваших 20 экстентов.
Я понял. У меня есть документация, относящаяся к типу символов [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 = ";;;;;;;;;;;;;;;;;;;";
Кажется, в Руководстве по драйверу ODBC Progress этот тип вообще не упоминается?