用DELECT只能标记删除记录,在VFP里要用PACK,那如何VB中真正删除VF的记录呢?
解决方案 »
- 谁能帮我优化一下我写的坦克大战?
- 请问用vb写一个局域网流量监控软件需要什么知识
- WIN2K/XP中用CommonDialog控件或dll不能正确设置打印机属性
- 查询语句
- winsock.ocx与其他控件不同吗?我用regsvr32.exe注册提示未授权?
- VB里读出数据库字段的类型,对于各种数据库完全不一致,而且有些都认不出来,郁闷郁闷真郁闷!
- 编写控件问题 欢迎帮忙
- 我在学校,想上国外网站,那位朋友有好的代理?在线等待!!!!!先谢谢
- 怎样将sql server 查询的结果保存为DBF文件,急,在线等待
- 大家帮我看看我的插入法排序错在哪里
- 求一串口发送文件的程序代码
- 在程序中,如何知道SQl的某个库中都有那些表存在呀.谢谢
给要删除的记录做标记。语法
DELETE FROM [DatabaseName!]TableName
[WHERE FilterCondition1 [AND | OR FilterCondition2 ...]]参数
FROM [DatabaseName!]TableName指定要给其中的记录加删除标记的表。
DatabaseName! 指定包含该表的非当前数据库名。如果数据库不是当前的数据库,必须加上包含有该表的数据库名。在数据库名的后面、表名的前面包含感叹号 (!) 分隔符。WHERE FilterCondition1 [AND | OR FilterCondition2 ...]指定 Visual FoxPro 只给某些记录做删除标记。说明
带有删除标记的记录在执行 PACK 前并不从表中做物理删除。
dbconn.Execute strSql,2其中DBCONN是连接到VFP库的数据库连接。(偶猜的,不知道能不能不能用)
PARA FILENAME
IF .NOT. FILE(FILENAME) THEN
MESSAGEBOX ("指定的数据库 ' "+FILENAME +" ' 没有找到!")
RETURN
ENDIF
SET EXCLUSIVE ON
USE (FILENAME)
PACK
USE
** CLOSE ALL
RETURN
当每次操作完DBF数据库后关闭连接(db.clos)
然后调用以上程序进行切底删除,方法如下:
...
db.clos
shell "path\pack.exe paht\数据库名"
或者在Form_Unload事件执行(建议) ]这是以前一个老兄说的,我记下来但没试,希望对你有帮助
我在VB6下使用过VFP的数据库啊,
使用ADO连接,用标准的SQL语句就是直接删除了啊,没有什么pack的问题啊
不明白你的问题是如何产生的.
给要删除的记录做标记。指定 Visual FoxPro 只给某些记录做删除标记。说明 带有删除标记的记录在执行 PACK 前并不从表中做物理删除。
-------------------------------------------------------真不知道你们用的是哪个版本?自编的吧?说不定VFP6以后到真可删除记录,但我早已试过,VFP6中肯定就如它写的,只是加删除标记!
这样数据就会越积越多VFP6