5、数据从文本文件写入数据库表的捷径
许多情况下,文本文件中的数据排列顺序与数据库表中列的顺序一致,并且其数据类型与数据库表中对应列的一致,要做的就是将该文件中的内容存入对应数据库表中。例如在点对点通讯的情况下,一方把数据库表中的数据以文本文件格式存储并传送给另一方,另一方要做的工作就是将收到的数据存入相同的数据库表中。PowerBuilder有多种方式与文本文件打交道,比如使用ODBC的文本文件驱动器、采用DDE(动态数据交换)方式、采用OLE方式或使用Cursor将文本文件逐行逐列读取并写入数据库表等。但在这种情况下,还有一种更快捷的方法:使用ImportFile()函数将文本文件内容直接倒入数据库表中。该函数用法为: datawindowname.ImportFile(filename{,startrow{,endrow& {,startcolumn{,endcolumn{,dwstartcolumn}}}}}) ImportFile()函数要求数据窗列的数据类型和列的排列顺序必须与文本文件中的数据相匹配。在存储文本文件时要注意接收数据库对表的格式要求,比如在SYBASE中,表格的列与列间是采用Tab键区分的,所以如果要用ImportFile()函数将文件内容写入SYBASE表中,就要将相应文本文件的列与列间加入Tab键——这在文件形成时即可加入。下面的代码将文件infor.txt写入数据窗dw_infor,并将与dw_infor对应的数据库表更新: 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("SQLERROR",sqlca.sqlerrtext) endif else messagebox("注意","文件infor.txt写入失败!") endif endif 此外,ImportFile()函数还支持从文本文件的指定开始行列到结束行列读取并写入数据;并且支持.dbf(dBase)文件的读写,这给原有台式数据库数据文件向新的分布式数据库表中转换带来了极大的方便。
上一页 [1] [2] [3] [4] [5] 下一页
|