如何用处理数据库表的更新?

cfjly 2013-02-01 11:48:48
表B

记录号 年级 班级 书名 册数 单价 金额
1 93 1 FoxBase 40 8.5 340
2 93 1 操作系统 40 9.5 380
3 93 2 操作系统 45 9.5 427
4 93 2 会计原理 45 10.5 472.5
5 94 1 BASIC 42 7.5 315
6 94 1 信息论 42 11.5 483
7 94 2 PASCAL 40 8.7 348
8 94 2 信息论 40 11.5 460


表A

记录号 书名 单价
1 BASIC 8.5
2 PASCAL 9
3 FoxBase 12.5
4 操作系统 11.5
5 会计原理 13.5
6 企业管理 15.6
7 会计原理 15.4

问1. 平时都是在库结构里一一设置,如何用命令同时设置两表相同的字段类型和宽度?
问2. 以上两表是从EXCEL中导入的,命令 impro from 表A type xl8
导入后字段显示的分别是A B C各字段, 第一行是原EXCEL字段名,如何用命令复制第一行到VF的字段上?
问3. 表都按照 书名 字段建立索引后,建立关联更新操作
书上说是:如果别名库中若存在关键值相同的记录,则将多次更新当前库记录
别表A的会计原理就可以多次更新表B的会计原理,但是结果不可以,命令如下:
upda on 书名 from 表A repl 单价 with A->单价
...全文
174 10 点赞 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
十豆三 2013-02-05
vfp9.0 :
Update e:\cs\tjd.Dbf Set tjd.单价=book.单价 From e:\cs\book.Dbf Where tjd.书名=book.书名
vfp9.0 以下:
Use e:\cs\book.Dbf
Scan
	Update e:\cs\tjd.Dbf Set tjd.单价=book.单价 Where tjd.书名=book.书名
Endscan
这些基本语句,建议多看看vfp自带的帮助文件,而且还有示例,比在这里等回复快N倍。
  • 打赏
  • 举报
回复
十豆三 2013-02-04
把 Scan 写到 PRG 中。
在 Command 运行也可以,但必须选中 SCAN 。。。 ENDSCAN

字段1 是2个表的关联字段,字段2 是你替换的字段。
  • 打赏
  • 举报
回复
cfjly 2013-02-04
引用 1 楼 apple_8180 的回复:
答1:参考 VFP 自带帮助文件中的 ALTER TABLE 命令。 答2:通过第一行记录内容,多次执行 ALTER TABLE 命令。或者选建立好表,然后用 APPEND FROM Excel名.XLS TYPE XL5 导入。 答3: VFP9.0: Update 表A Set 表A.字段2=表B.字段2 From 表B Where 表A.字段1=表B.字段1 VFP9.0以下:……
在VF6下测试时,提示: scan 在交互方式下不能使用此语句 字段一和字段二,具体到两表分别指的是哪个字段? 有upda on 行吗?但为什么达不到理想的结果?
  • 打赏
  • 举报
回复
cfjly 2013-02-04
是不是关联不成立呀?/因为关联字段值不完全匹配
  • 打赏
  • 举报
回复
cfjly 2013-02-04
USE e:\cs\book.dbf EXCLUSIVE scan upda e:\cs\tjd.dbf set e:\cs\tjd.dbf .单价=e:\cs\book.dbf.单价 wher e:\cs\tjd.dbf.书名=e:\cs\book.dbf.书名 endscan 写到PRG后,红色部分提示语法错误,是不是要先索引?
  • 打赏
  • 举报
回复
awie_peng 2013-02-02
VFP 9.0 SP2汉化版似乎不支持在IMPORT/EXPORT,APPEN FROM/COPY TO 中使用 XL8关键字.虽然在帮助文件里有说明,实际运行时,会提示不能识别... 用UPDATE -SQL语句吧,简洁,快速.
  • 打赏
  • 举报
回复
十豆三 2013-02-01
答1:参考 VFP 自带帮助文件中的 ALTER TABLE 命令。 答2:通过第一行记录内容,多次执行 ALTER TABLE 命令。或者选建立好表,然后用 APPEND FROM Excel名.XLS TYPE XL5 导入。 答3: VFP9.0: Update 表A Set 表A.字段2=表B.字段2 From 表B Where 表A.字段1=表B.字段1 VFP9.0以下: Use 表B Scan Update 表A Set 表A.字段2=表B.字段2 Where 表A.字段1=表B.字段1 Endscan
  • 打赏
  • 举报
回复
sdta2012 2013-02-01
学习VFP要循序渐进,按部就班。
  • 打赏
  • 举报
回复
cfjly 2013-02-01
楼上,程序在vf6•0中运行,两表都按书名索引过的
  • 打赏
  • 举报
回复
sdta2012 2013-02-01
upda on 书名 from 表A repl 单价 with A->单价 上面的命令是FOXPRO时期的命令,前提是必须对关键字段先进行索引,否则结果会不正确。
  • 打赏
  • 举报
回复
相关推荐
发帖
VFP
加入

2502

社区成员

VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
申请成为版主
帖子事件
创建了帖子
2013-02-01 11:48
社区公告
暂无公告