如何把sql的表以及数据(不包括存储过程以及触发器)通过程序转换成DBF格式并保存到软盘里去呢?

flyhot 2003-12-08 11:21:10
本人急需有关列程,,忘高手指点 :)
...全文
39 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyhot 2003-12-08
  • 打赏
  • 举报
回复
to: ldy 能否提供相关 列程?
dotnba 2003-12-08
  • 打赏
  • 举报
回复
我一般都用DW ,然后SAVEAS
hzhxxx 2003-12-08
  • 打赏
  • 举报
回复


使用 powerdesign 转换为 pdm 文件,最后自动生成为 dbf 文件
flyhot 2003-12-08
  • 打赏
  • 举报
回复
有点方向了, dongdongxiao(蓝色的海) ( ) 是否有相关的列程,本人将不胜感激
dongdongxiao 2003-12-08
  • 打赏
  • 举报
回复
用pipeline吧,把dbf文件做成odbc就可以了。
bicesky 2003-12-08
  • 打赏
  • 举报
回复
ldy(罗大佑) 能否问你格问题,如果我现在是要将数据保存为支持foxpro2.5版本的dbf格式,是否也是这样写代码呢?但是saveas里没有支持这个格式的啊.那又该怎么办?
tommyhuanglei 2003-12-08
  • 打赏
  • 举报
回复
OBJECT.SAVEAS
flyhot 2003-12-08
  • 打赏
  • 举报
回复
好的。我调试调试,谢谢各位,,,
dotnba 2003-12-08
  • 打赏
  • 举报
回复
当然,为了保证数据的完整和一致,还可以做得细一些
比如建立一个用于管理表的表。当在做这样的工作的时候,将表的状态设置一下
然后在程序别的地方判断,当在另存或者备份的时候,不能进行更新操作。
相当于LOCK
如果是MsSql:Select 语句可以跟上for update来锁定
dotnba 2003-12-08
  • 打赏
  • 举报
回复
long ll_row
string error_syntaxfromSQL, error_create
string new_sql, new_syntax,ls_colname

ll_row = dw_1.insertrow(0)
dw_1.setItem(ll_row,"c_text","正在备份" + as_prompt + " ... ... ")
dw_1.scrolltorow(ll_row)
select top 1 syscolumns.name into :ls_colname
from syscolumns
where syscolumns.id = (select sysobjects.id
from sysobjects
where sysobjects.name = :as_tablename);
//new_sql = "SELECT count(" + ls_colname + ") FROM " + as_tablename
new_sql = "SELECT count(*) FROM " + as_tablename

DECLARE my_cursor DYNAMIC CURSOR FOR SQLSA ;
PREPARE SQLSA FROM :new_sql;
OPEN DYNAMIC my_cursor ;
FETCH my_cursor INTO :il_count ;
CLOSE my_cursor ;

if il_count < 1 or isnull(il_count) then il_count = 1

new_sql = "SELECT * from " + as_tablename
new_syntax = SQLCA.SyntaxFromSQL(new_sql,"Style(Type=Form)",error_syntaxfromSQL)

IF Len(error_syntaxfromSQL) > 0 THEN
// Display errors
dw_1.setItem(ll_row,"c_text","正在备份" + as_prompt + " ... ... 备份当前数据失败!。")
ELSE
// Generate new DataWindow
dw_2.Create(new_syntax, error_create)
IF Len(error_create) > 0 THEN
dw_1.setItem(ll_row,"c_text","正在备份" + as_prompt + " ... ... 备份当前数据失败!。")
else
dw_2.SetTransObject(SQLCa)
dw_2.Retrieve()
if dw_2.SaveAs(as_path + as_tablename + '.TXT',Text!,False) = 1 then
dw_1.setItem(ll_row,"c_text","正在备份" + as_prompt + " ... ... 成功备份当前数据!。")
else
dw_1.setItem(ll_row,"c_text","正在备份" + as_prompt + " ... ... 备份当前数据失败!。")
end if
END IF
END IF
klbt 2003-12-08
  • 打赏
  • 举报
回复
ldy(罗大佑)思路可行
zhouweiwansui 2003-12-08
  • 打赏
  • 举报
回复
晕..
888888888888 2003-12-08
  • 打赏
  • 举报
回复

controlname.SaveAs ( { filename, } { graphcontrol, saveastype, colheading } )

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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