如何在Progress Database Character []数据类型和C#字符串之间进行转换?

时间:2009-01-02 18:47:13

标签: c# odbc progress-db

进度数据库允许使用Character [x]数据类型。如何使用C#和ODBC写入特定的x?

请不要回答,除非你理解了Character [x]的含义......它不是一个字符串(字符数组),它是一个字符串数组(字符数组)。

3 个答案:

答案 0 :(得分:2)

我明白了。我的文档引用了字符[20]的数据类型,格式为x(24)。 character [x](其中x是数字),就像一个字符串数组。格式x(24)表示数组中的每个字符串长度可以是24个字符。

基本上字符[20],格式x(24)是一个长度为20 * 24个字符的字符串,每个“数组元素”用分号(;)分隔。

如果将列“选项”定义为字符[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”; < / p>

用所有空字符串填充它:

row.options =“;;;;;;;;;;;;;;;;;;;;

答案 1 :(得分:2)

  

格式x(24)表示数组中的每个字符串长度可以是24个字符。

不太准确,格式是DISPLAY格式,在显示/打印/导出此字段时,许多Progress例程都使用该格式。所有字符字段,无论它们是否具有范围,都作为可变长度字符串存储在DB上。因此,您可以在20个范围中轻松获得大约32K的数据。

答案 2 :(得分:0)

Progress ODBC Driver Guide似乎根本没有提到这种类型?