CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  数据库相关

對你來說是小菜,我就快掛了!請指教!

楼主xiaorong83(小月)2004-09-02 21:13:00 在 PowerBuilder / 数据库相关 提问

我的間題你一定搞的定@。@  
    就是如何把文本文件(.txt)導入dw數據窗口中??????????????? 问题点数:20、回复次数:6Top

1 楼wangxichen() 喜之郎 : )回复于 2004-09-02 21:16:40 得分 3

文件操作函数:  
  先用fileopen()打开函数,  
  用fileread()读取文件,  
  操作完成后,fileclose()关闭文件。  
  函数具体功能和语法可以查看帮助Top

2 楼xiaorong83(小月)回复于 2004-09-02 21:19:49 得分 0

多謝上面那位仁兄,不過我要全代碼。哪位仁兄=大俠幫幫我吧??!!在線等!!!Top

3 楼xuexy1980_xxy1980(勇豹)回复于 2004-09-02 21:21:46 得分 0

你看一下   文件操作函数!Top

4 楼hxbhxbhxb(Paul)回复于 2004-09-02 21:23:42 得分 2

dw_1.importfile(...)Top

5 楼wangxichen() 喜之郎 : )回复于 2004-09-02 21:39:50 得分 5

使用ImportFile()函数。该函数用法为:  
          datawindowname.ImportFile(filename{,startrow{,endrow   &  
          {,startcolumn{,endcolumn{,dwstartcolumn}}}}})  
          ImportFile()函数要求数据窗列的数据类型和列的排列顺序必须  
  与文本文件中的数据相匹配。  
          在存储文本文件时要注意接收数据库对表的格式要求,比如在Syb  
  ase中,表格的列与列间是采用Tab键区分的,所以如果要用ImportFile  
  ()函数将文件内容写入Sybase表中,就要将相应文本文件的列与列间  
  加入Tab键——这在文件形成时即可加入。  
          下面的代码将文件infor.txt写入数据窗dw-infor,并将与dw-inf  
  or对应的数据库表更新:  
          int   impt  
          if   (FileLength("c:\data\infor.txt")   >   0)   then  
              impt   =   dw-infor.ImportFile("c:\data\infor.txt")  
              if   impt   >   0   then  
              dw-infor.settrans(sqlca);  
          update(dw-infor);  
          commit;  
          if   sqlca.sqlcode   =   -1   then  
                messagebox("SQL   ERROR",sqlca.sqlerrtext)  
          end   if  
              else  
                  messagebox("注意","文件infor.txt写入失败!")  
              end   if  
          end   if  
          此外,ImportFile()函数还支持从文本文件的指定开始行列到结  
  束行列读取并写入数据;并且支持.dbf(dBase)文件的读写Top

6 楼liliang800207(redcloud)回复于 2004-09-02 21:41:12 得分 10

看你的文件格式是什么样的!  
  =========================================f_import_file(datawindow   adw_name,string   as_filename,char   ac_separator)  
  adw_name:数据窗口  
  as_filename:导入文件名  
  ac_separator:分割符,TAB除外  
  /*...................*/  
  long   ll_start_pos=1  
  string   ls_mystring  
  int   li_filenum  
  char   lc_tab  
  string   ls_tempfile  
  int   li_rtn  
   
  li_filenum=fileopen(as_filename,StreamMode!,read!)  
  if   isnull(li_filenum)   or   li_filenum<0   then   return   -2  
   
  //将文件内容读入字符串  
  if   FileRead(li_filenum,ls_mystring)<0   then   return   -2  
  //关闭文件  
  FileClose(li_filenum)  
  lc_tab=char(9)   //TAB分割符  
   
  //找到第一个分割符  
  ll_start_pos=Pos(ls_mystring,ac_separator,ll_start_pos)  
  if   ll_start_pos<=0   then  
  MessageBox('提示信息','文件内没有"'+ac_separator+'"分割符')  
  return   -10  
  end   if  
   
  //循环替换分割符  
  do   while   ll_start_pos>0  
  //替换分割符  
  ls_mystring=Replace(ls_mystring,ll_start_pos,1,lc_tab)  
  //找下一个分割符  
  ll_start_pos=Pos(ls_mystring,ac_separator,ll_start_pos+1)  
  loop  
   
  //在当前目录下生成临时文件  
  ls_tempfile=GetCurrentDirectory()+"\importfile_tmp.txt"  
  li_filenum=FileOpen(ls_tempfile,&  
  StreamMode!,Write!,LockWrite!,Replace!)  
  FileWrite(li_filenum,ls_mystring)  
  FileClose(li_Filenum)  
   
  //将临时文件内容导入数据窗口  
  li_rtn=adw_name.ImportFile(ls_tempfile)  
  //删除临时文件  
  FileDelete(ls_tempfile)  
   
  return   li_rtn  
  ========================================  
  如是   tab键分隔   直接importfile即可Top

相关问题

  • 每天要上考场,这道小菜题快帮我!!!!
  • 一道小菜,快来抢分!
  • 小菜一碟!如果你是高手!
  • 小菜问题!简单但我不会!
  • GGJJ们,帮帮我这个小菜鸟!
  • 求一个简单的SQL语句。我不会,我想对于你们应该是小菜!
  • 一个小菜的问题?看你有没有能力回答。。。。
  • 小菜的问题,不要珍惜你的手指:-)
  • ●●●●●●LeeMaRS(小菜虎_水壶的仇人):你进来!●●●●●●
  • 这个东东,怎么声明啊,末笑我!……本人小菜!!

关键词

  • infor
  • 函数
  • 文件
  • 数据
  • start
  • importfile
  • 文本文件
  • filenum
  • impt
  • ls

得分解答快速导航

  • 帖主:xiaorong83
  • wangxichen
  • hxbhxbhxb
  • wangxichen
  • liliang800207

相关链接

  • PowerBuilder类图书
  • PowerBuilder类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo