我正在尝试为 SDF(空格分隔文件)生成行。我正在使用具有扩展属性 DBASEIV 的 OLEDB 适配器从 DBASE IV DBF 文件创建这些行,以获取数据。填充后我的数据列输出为 425 个字符,我将其放入 VB.NET 中的 datagridview 中以显示它。
但是,当我运行查询时,虽然它似乎正确执行,但结果字段限制为 256 个字符。我正在阅读的最长的单个字段是 35 个字符,我正在返回一个包含 2 个字段、条形码和 SDF 行的数据集。据我了解,OLEDB Jet 4.0 尝试根据前 8 行猜测类型,但是由于数据列的所有行长度相同(425 个字符),我不明白为什么它选择较小的字段类型。我认为这是因为我的字段是使用字符串连接生成的。我在这个问题的底部包含了可怕的 SQL。所以我的问题是如何获得完整的 425 字符输出?或者有没有办法可以将我自己的字段的数据类型指定为备忘录?
SELECT scan,
RIGHT('0000000000000' + trim(cstr(scan)), 13) +
LEFT(trim(cstr(name)) + ' ', 35) +
LEFT(trim(cstr(name)) + ' ', 16) +
' ' +
' ' +
' ' +
'1 ' +
'0.00 ' +
'0.00 ' +
'1' +
'0.00 ' +
'0.01 ' +
'0.00 ' +
'F' +
'2' +
'0.00 ' +
'0.00 ' +
' ' +
' ' +
' ' +
'SALS' +
' ' +
' ' +
LEFT(trim(cstr(plof)) + ' ', 13) +
' ' +
' ' +
'0.00 ' +
'0.00 ' +
'0.00 ' +
'F' +
'T' +
'001' +
' ' +
'T' +
'01' +
' ' +
' ' +
' ' +
' ' +
'F' +
'F' +
' ' +
' ' +
'0 ' +
'0.00 ' +
' ' +
'0 ' +
'0.00 ' +
'0.00 ' +
'0.00 ' +
'0.00 ' +
'1 ' +
'1 ' +
'1 ' +
'0.00 ' +
'0.00 ' +
'0.00 ' +
'0.00 ' +
'0.00 ' +
'0.00 ' +
' ' +
' ' +
' '
as STTEMPLINE
from salus where cstr(scan) in (select distinct cstr(scan) from nonscan)
提前感谢您的帮助。