如何用程序动态创建dbf表。程序里有一个sqlserver导出数据为dbf文件的过程。

ChinaOk 2003-11-21 06:58:21
所以想在用户选择目录后,自动创建odbc数据源,然后导入到dbf。。。
但这需要有一个初始的dbf文件。。。。

怎么搞定?请教各位搞人。。。
有没有其他更通用而且方便的方法?

谢谢!


...全文
70 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qgf100000000 2003-12-09
  • 打赏
  • 举报
回复
up
defasi 2003-12-06
  • 打赏
  • 举报
回复
string error_syntaxfromSQL, error_create
string new_sql, new_syntax
int hd1 ,hd2

//创建文件夹
if DirectoryExists (trim(sle_1.text)) then
hd1=messagebox('','此文件夹存在,请重新命名!',information!,yesno!)
end if
if hd1=2 then return
hd2=CreateDirectory (trim(sle_1.text))
if hd2= -1 then
messagebox('','对不起不能创建这个文件夹,请重新给文件夹命名!')
return
else
messagebox("警告!",'系统将会需要一段时间备份数据,~n' &
+' 请耐心等候!')
end if
new_sql = 'SELECT * from 表名'
new_syntax = SQLCA.SyntaxFromSQL(new_sql, 'Style(Type=Form)', error_syntaxfromSQL)
IF Len(error_syntaxfromSQL) > 0 THEN
MessageBox("Caution", "SyntaxFromSQL caused these errors: " + error_syntaxfromSQL)
ELSE
dw_1.Create(new_syntax, error_create)
IF Len(error_create) > 0 THEN
MessageBox("Caution", "Create cause these errors: " + error_syntaxfromSQL)
END IF
END IF
dw_1.settransobject(sqlca)
dw_1.retrieve()

//保存数据到文件夹
saveid=dw_1.SaveAs(trim(sle_1.text)+"\"+"表名.dbf" ,DBASE3!, FALSE)

if saveid=1 then
messagebox('','数据保存成功!')
else
messagebox("保存出错!", SQLCA.SQLErrText)
end if
defasi 2003-12-06
  • 打赏
  • 举报
回复
string error_syntaxfromSQL, error_create
string new_sql, new_syntax
int hd1 ,hd2

//创建文件夹
if DirectoryExists (trim(sle_1.text)) then
hd1=messagebox('','此文件夹存在,请重新命名!',information!,yesno!)
end if
if hd1=2 then return
hd2=CreateDirectory (trim(sle_1.text))
if hd2= -1 then
messagebox('','对不起不能创建这个文件夹,请重新给文件夹命名!')
return
else
messagebox("警告!",'系统将会需要一段时间备份数据,~n' &
+' 请耐心等候!')
end if


new_sql = 'SELECT * from 表名'


new_syntax = SQLCA.SyntaxFromSQL(new_sql, 'Style(Type=Form)', error_syntaxfromSQL)

IF Len(error_syntaxfromSQL) > 0 THEN
MessageBox("Caution", "SyntaxFromSQL caused these errors: " + error_syntaxfromSQL)
ELSE
dw_1.Create(new_syntax, error_create)
IF Len(error_create) > 0 THEN
MessageBox("Caution", "Create cause these errors: " + error_syntaxfromSQL)
END IF
END IF

dw_1.settransobject(sqlca)
dw_1.retrieve()
NbrRows = dw_1.RowCount()
//保存数据到文件夹
saveid=dw_1.SaveAs(trim(sle_1.text)+"\"+"表名.TXT" ,CSV!, FALSE)

if saveid=1 then
messagebox('','数据保存成功!')
else
messagebox("保存出错!", string(saveid) + SQLCA.SQLErrText)
end if
xyzliuin 2003-11-24
  • 打赏
  • 举报
回复
saveas()
Bumpkin 2003-11-24
  • 打赏
  • 举报
回复
用SaveAs()
if dw_1.SaveAs("C:\a.dbf",DBASE3!,false)<>1 then
messagebox("","Failure!",StopSign!)
else
messagebox("","Success!")
end if
愉快的登山者 2003-11-24
  • 打赏
  • 举报
回复
使用数据窗口的
saveas()函数.
mittee 2003-11-21
  • 打赏
  • 举报
回复
你的想法很好,
pb有一动态sql语句可以创建表。
ChinaOk 2003-11-21
  • 打赏
  • 举报
回复
刚才搜索了一下。没发现能自动创建dbf文件的。有一个朋友说,“复制一个空的dbf文件”

这样做是不是这样:
建一个空的[没字段,没数据]的dbf
导入:动态创建表结构,,,
导入

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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