在请教各位在PB中操作DBF文件记录的问题

fmilan 2003-05-06 02:39:38
需要在DBF文件的记录中做更新、读取、写入、删除等动作;上次听从几位大虾用ODBC增加一个DBF数据源后,尝试了一下似乎无法用sql语句直接操作DBF文件中的记录,请教如何操作,问题解决散分,有例子更好
...全文
125 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
fmilan 2003-05-09
  • 打赏
  • 举报
回复
没人回答吗?那换个问题吧,那位大哥帮忙解决点问题好让我结贴散分啊!!

编译完全通过,没有报任何错误,在PBL中没有任何问题,但是编译成EXE文件时报以下错误
DBMS SYS Sybase 10/11 is not supported in your current installion

application中如下
SQLCA.DBMS = profilestring( "c:\Db.ini","Database","DBMS","")
SQLCA.DBParm = profilestring( "c:\Db.ini","Database","Dbparm","")
SQLCA.ServerName =profilestring( "c:\Db.ini","Database","Servername","")
SQLCA.Database = profilestring( "c:\Db.ini","Database","Database","")
SQLCA.LogId = profilestring( "c:\Db.ini","Database","Logid","sa")
SQLCA.LogPass = profilestring( "c:\Db.ini","Database","Logpass","")
SQLCA.AutoCommit = false

CONNECT USING SQLCA;
if sqlca.sqlcode <> 0 then
messagebox('Êý¾Ý¿âÁ¬½Óʧ°Ü',sqlca.sqlerrtext)
return;
end if
open(w_main)

C:\Db.ini中如下
[Database]
DBMS=SYC Sybase System 10/11
Servername=st02
database=store
OtherDatebase=store
logpassword=""
charset=iso_1

fmilan 2003-05-08
  • 打赏
  • 举报
回复
ODBC连接问题已经解决,但是数据交换还未能成功,请问那位有数据管道方面的资料,我需要dbf和sybase交换数据,但是dbf的文件数量是可变的,所以建立管道似乎有点麻烦,最好有这方面的示例;搞定这个问题马上结贴散分
fmilan 2003-05-07
  • 打赏
  • 举报
回复
有新状况,数据库连接成功,但是不能insert和update其中数据
update "036log"
set plg_cnt = "1"; 报参数不足,期待为1
并且数据库中数据不能插入和编辑
是否和没有索引和主键有关?该如何处理??
这个是dbf数据源
joss 2003-05-07
  • 打赏
  • 举报
回复
直接用DW操作数据库不就可以了!
fmilan 2003-05-07
  • 打赏
  • 举报
回复
遇到点很蹊跷的问题 ODBC设置了数据源log_dbf;增加log_dbf对象
transaction log_dbf

log_dbf = create transaction
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=log_dbf;UID=;PWD='"

connect using log_dbf;

if sqlca.sqlcode <> 0 then
messagebox('error',sqlca.sqlerrtext)
return;
end if
报语法错,036 就这么简单
every_one 2003-05-07
  • 打赏
  • 举报
回复
insert into ... (select * from ...) 语句中的using transaction 该如何使用?
不能这样写的连接dbf表的transaction和连接sybase数据库的transaction是不一样的,所以你可以使用数据管道,非常方便!
fmilan 2003-05-07
  • 打赏
  • 举报
回复
如果需要从一个数据源中向另一个数据源insert数据直接用SQL语句可以吗?还是必须要用数据管道?
比如我要insert dbf数据源中的数据到sybase中;
insert into ... (select * from ...) 语句中的using transaction 该如何使用?
fmilan 2003-05-06
  • 打赏
  • 举报
回复
楼上说的tablename和dbf文件是一回事吗?不同的文件的操作类似于数据库中的表单操作吗?
比如我file1.dbf; file2.dbf 。其文件中有ID,NAME,AMT,USER等字段,请问如何进行操作??比如我要将USER字段置1,并且读出记录,然后删除记录,需要怎么做呢?
yiyu 2003-05-06
  • 打赏
  • 举报
回复
建立好一个事务对象后,正常使用,没什么特别的!
yl_yz 2003-05-06
  • 打赏
  • 举报
回复
同样可以用datawindow
yl_yz 2003-05-06
  • 打赏
  • 举报
回复
ls_sql="insert into "+tablename&
+"(id,MM) "&
+"values ("+string(ll_id)+",'"+ls_mm+"')"
execute immediate :ls_sql
using SQLCA;
if SQLCA.sqlcode<>0 then
ROLLBACK using SQLCA;
else
commit using SQLCA;
end if

删除
ROLLBACK using sqlca;
ls_sql="delete from"+tablename+" where id='"+string(ll_id)+"'"
execute immediate :ls_sql
using sqlca;
commit using sqlca;

disconnect;
connect;
ls_sql="pack "+tablename
execute immediate :ls_sql;
commit;
disconnect;
connect;
fmilan 2003-05-06
  • 打赏
  • 举报
回复
对其他数据库操作的是表单,可以用sql语句或者用datawindow来操作解决;但是用ODBC后这些数据源是些DBF的文件,如何对文件中的记录进行操作呢?
yl_yz 2003-05-06
  • 打赏
  • 举报
回复
用ODBC连接后与其它数据库的操作一样。

1,077

社区成员

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

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