sql 导出生成dbf文件 数字型字段出现问题

TimZhuFaith 2011-10-11 02:27:25
各位好, 我现在想做个导出dbf文件的功能,用下面的代码可以生成dbf文件,
但是在处理decimal字段时出现问题,比如CJBH decimal(8, 0) 生成的该字段为decimal(16, 0)

declare @err int,@src nvarchar(255),@desc nvarchar(255),@out int
declare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varchar(8000)
declare @lastsql varchar(max), @directorypath varchar(200), @filepath varchar(20)

set @filepath = 'test.dbf'
set @directorypath = 'D:\import\'

set @constr = 'Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=''dBASE 5.0;'+';HDR=yes;DATABASE='+ @directorypath +''''


print 'constr = ' + @constr
--连接数据库oledb for vfp
exec @err=sp_OACreate 'adodb.connection', @obj out
if @err<>0
begin
exec sp_OAGetErrorInfo 0, @src out, @desc out
print @src
print 'create'
end
print '1'
--打开数据库
exec @err=sp_OAMethod @obj, 'open', null, @constr
set @sql = 'GDDM varchar(10), GDXM varchar(8), BCRQ varchar(8), CJBH decimal(8, 0), GSDM varchar(5), CJSL decimal(10, 0) '

select @sql= 'create table [' + @filepath
+ '](' + @sql +')'

exec @err=sp_OAMethod @obj, 'execute', @out out, @sql


有处理的办法吗?我搜了很久 没有找到。谢谢
...全文
231 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
TimZhuFaith 2011-10-13
  • 打赏
  • 举报
回复
没人???
-晴天 2011-10-11
  • 打赏
  • 举报
回复
VFP 数值型字段最大长度为20,最大小数位数为19.
-晴天 2011-10-11
  • 打赏
  • 举报
回复
在2000中可以转换为dbf文件,2005以上不能导出为DBF文件了.
可以试着导出为excel文件,然后在excel 中另存为 dbf.
--小F-- 2011-10-11
  • 打赏
  • 举报
回复
不知道DBF里面的DECIMAL是多少位的 如果最少就是DEC(16,0) 的话 也没有什么好办法啊
TimZhuFaith 2011-10-11
  • 打赏
  • 举报
回复
ap0405140:您好。

我的测试表明很多数值型字段都变为 decimal(16, ..),您有处理方法吗
[Quote=引用 3 楼 ap0405140 的回复:]
应该是从SQL Server到Visual Foxpro有自动类型转换,

Foxpro没有decimal(8,0)类型的,只有decimal(16,0)
[/Quote]
唐诗三百首 2011-10-11
  • 打赏
  • 举报
回复
应该是从SQL Server到Visual Foxpro有自动类型转换,

Foxpro没有decimal(8,0)类型的,只有decimal(16,0)
TimZhuFaith 2011-10-11
  • 打赏
  • 举报
回复
小F:您好。
我先试着想办法变成文档说的精度,有没有什么处理方法?[Quote=引用 1 楼 fredrickhu 的回复:]
比如CJBH decimal(8, 0) 生成的该字段为decimal(16, 0)


DEC长度变大应该没有什么影响的吧
[/Quote]
--小F-- 2011-10-11
  • 打赏
  • 举报
回复
比如CJBH decimal(8, 0) 生成的该字段为decimal(16, 0)


DEC长度变大应该没有什么影响的吧

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧