1. 求问VFP中 怎么用sql语言创建一个视图
网络摘抄,仅供参考!!!你可以用 VFP 后端开始编写客户/服务器应用程序直到决定使用 MS SQL Server, 或 Oracle, 或 Informix, 或 Sybase, 或 DB/2 等等. 第一步. 基于视图的数据输入表单 在来到 VFP 客户/服务器应用程序的数据输入表单时, 你可以用 SQL Pass-through (SPT), 它简单的通过 ODBC 传递一个 SQL 串到数据源, 也可以使用远程视图, 这就意味着 DBC 中储存的 SQL 语句生成临时表产生的效果必需象 VFP 自己的表. SPT 将保存它的结果集到一个本地游标中, 因此你必需遍历表单上的控件并逐个绑定它们(例如, thisform.txtCustomer.Value = SQLResult.customer). 当然, 要更新服务器需要由你自己创建适当的 SQL Update, Insert 和 Delete 语句, 不必提及也必须编码的多用户冲突检查 -- 相当乏味的, 容易出错的任务. 这是典型的在Visual Basic 处理事情的方法(因此你知道在VFP中必定有更好的办法,呵呵…). 在另一方面,远程视图让人不可相信地易于处理. 你所需要做的只是创建一个与表结构相同的视图, 打开视图(执行 SQL Select), 用操作 FoxPro 本地表相同的方法操作它所创建的临时表, 然后发布 TableUpdate 命令. TableUpdate 自动为你创建 SQL Update, SQL Insert 和SQL Delete 语句并传递它们到你的工作站上的 ODBC 驱动管理器. ODBC 驱动管理器用 你已选定的ODBC 驱动程序来翻译 SQL 为后端可理解的语法. 它是如此简单. 因此根据以下理由,我荐议数据输入表单使用远程视图: 一个代码集. 相同的代码集可以处理 VFP 表或 SQL Server上的远程视图. 因此你只需要本地视图或远程视图. 性能. 在多种方法中, 视图可以快于 SPT ,因为 TableUpdate (一个低级 VFP 函数) 自动为你生成 SPT 代码. 你自己生成SQL update 和执行代码占用的时间将比 TableUpdate 多. 如果你考虑 TableUpdate 到底做了多少 扫描改变了的缓冲, 决定更新类型, 读取视图属性, 生成批处理 SQL 语句, 传递它们到 ODBC 驱动管理器, 返回一个成功/失败标志, 并清除修改缓存 我相信你同意它干得比 SPT 好. 以上所有处理没有语法错误. 视图属性提供额外了多于SPT 的功能. 例如, 要模仿一个 5个计数的 BatchUpdate, 你需要在传递它们到 ODBC 前,串接5个用逗号分开的 SQL 语句. SPT 在客户/服务器程序中,也有一个非常重要的地方; 我将在第三步中作更多的描述. 关于本地视图和远程视图的基本用途的更多信息,参阅 VFP 开发者指南. 第二步. 所有与数据相关的命令将通过一个函数执行 转换应用程序到客户/服务器时的最困难的地方是你的代码中的类似于 SQL 语句, Zap, Pack, Reindex, Seek这样的硬编码的数据访问命令. 换句话说, 你的程序是不是象以下所示一样? Function PurgeOrders * 该函数清除 (删除) 传递日期前已发运的订单. Lparameter dShipDate Local lcMsg Select Count(*) as OrderCnt from Orders ; Where ShipDate <= dShipDate Into Cursor tcPurge If _Tally = 0 lcMsg = "没有要清除的订单." Else Delete from Orders Where ShipDate <= dShipDate lcMsg = Trim(Str(_Tally)) + ; " 订单已从系统中清除." Endif MessageBox(lcMsg) EndFunc 这种类型的 SQL 语句仅在能在系统中找到表时可以很好的工作. 在客户/服务器的世界中, 你通过连接句柄与数据源通信. 对于视图, 远程连接 Create SQL View 的 子句允许视图访问远程数据. 而且对于 in-line SQL, FoxPro 函数 SQLExec() 用于通过 ODBC 传递 SQL 语句到服务器. 以生错误时它返回 1,成功时返回 1, 如果有一个异步查询等待完成则返回0. 作为例子, 以下是如何用 SQL Pass-through 获取一个指定客户的销售订货: llSuccess = SQLExec(goEnv.nHandle, ; "Select * From ORDERS Where Customer = ?
2. VFP调用SQL Server数据库,怎么更新数据库
你的这种方式叫做SPT方式,是指SQL Pass Through函数,简称SPT,即通过这类函数发送SQL后台命令到SQL数据库执行,然后接收返回数据的一种形式。
用VFP做过C/S形式的程序一般有两种方法,一种是用远程视图方式,一种就是直接发送SQL命令的SPT方式。
SPT方式比较适用于非常熟悉SQL操作和SQL语法的高级用户使用,对于喜欢偷懒而且对SQL不甚了解的还是建议使用视图比较好,这样可以少考虑很多很多问题。
3. 怎么样在vfp中调用SQL中的函数
在VFP中如何调用其它程序
-------------------------------------------------------------
Declare Long WinExec In kernel32 String,Long
=WinExec("notepad.exe",1)
Clear Dlls
WinExec(one.exe,SW_SHOW);
里面的SW_SHOW意思是什么
WinExec()函数第二个参数是什么意思
如果我想以无参数运行one.exe应该怎么办??
SW_SHOW表示以当前大小激活运行后的程序窗口并显示它。
第二个参数是控制程序主窗口的显示方式
第二个参数可能的取值为 :
************************* 窗口指定可视性定义 **********************************API函数ShellExecute中最后一个参数及wscript.shell方法中的第2个参数也是这样定义的。
0 SW_HIDE 隐藏窗口,活动状态为原调用窗口
6 SW_MINIMIZE 最小化窗口,活动状态为原调用窗口
9 SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态
5 SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态
3 SW_SHOWMAXIMIZED 最大化窗口,并将其激活
2 SW_SHOWMINIMIZED 最小化窗口,并将其激活
7 SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口
4. VFP中SQL语句中视图删除命令
sql中delete,drop
,truncate都代表删除,但3者又有一些区别
1.
truncate和
delete只删除数据不删除表的结构(定义)
drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index);
依赖于该表的存储过程/函数将保留,但是变为invalid状态.
2.delete语句是dml,这个操作会放到rollback
segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.
truncate,drop是ddl,
操作立即生效,原数据不放到rollback
segment中,不能回滚.
操作不触发trigger.
3.delete语句不影响表所占用的extent,
高水线(high
watermark)保持原位置不动
显然drop语句将表所占用的空间全部释放
truncate
语句缺省情况下见空间释放到
minextents个
extent,除非使用reuse
storage;
truncate会将高水线复位(回到最开始).
4.速度,一般来说:
drop>;
truncate
>;
delete
5.安全性:小心使用drop
和truncate,尤其没有备份的时候.否则哭都来不及
使用上,想删除部分数据行用delete,注意带上where子句.
回滚段要足够大.
想删除表,当然用drop
想保留表而将所有数据删除.
如果和事务无关,用truncate即可.
如果和事务有关,或者想触发trigger,还是用delete.
如果是整理表内部的碎片,可以用truncate跟上reuse
stroage,再重新导入/插入数据
在实际应用中,三者的区别是明确的。
当你不再需要该表时,
用
drop;
当你仍要保留该表,但要删除所有记录时,
用
truncate;
当你要删除部分记录时(always
with
a
WHERE
clause),
用
delete.
而alter是对表结构的修改.
希望对你理解有帮助。
5. VFP如何对SQL操作
1.通过远程视图remote view,首先在项目管理器里面设置ODBC与SQLSERBVER连接,然后建立远程视图,可以完成对SQLSERVER数据库操作.VFP命令就可以实现对其控制.
2.通过SPT,就是写SQLSERVER语句,通过SQLEXEC命令发送到SQLSERVER端执行.
3.在数据环境中使用CursorAdapter,这个类提供了包括ADO,ODBC,XML,NATIVE等四种数据源,但是操作不如远程视图直接.
4.推荐你首先用远程视图,首先进入控制面板中的ODBC管理器,有导航器建立一个ODBC,然后在VFP项目管理器的数据库中有一个连接建立好,接着就可以建立远程视图了,学会了建立远程视图,之后对其进行操作,你再高SPT,CursorAdapter就容易比较接受.
5.自己学着做一下吧,很简单的,有问题找我.
接着。。。。。
1、在SQLSERVER里面创建一个数据库
2、设置ODBC,去控制面板里面找,建立一个和刚建立的数据库关联数据源。
3、进入VFP,创建项目管理器,项目管理器里有个数据库,建立一个数据库,数据库下面有个连接,选择刚才建立的数据源。
4、创建远程视图
5、对远程视图进行操作,和对表操作差不多,对表进行存盘操作VFP用REPLACE命令,对视图操作用tableupdate(.t.)
6、赚你这200分不容易呀,老板
6. 关于VFP中使用SQL语句的命令帮帮我,拜托大家!
1、sele * from a.dbf where 姓名=“张三”
2、sele * from a.dbf where 性别=.t.
3、sele 部门,sum(工资) as 工资总额 from a.dbf group by 部门
4、不会
7. 关于vfp中的SQL语句~
您可以在VFP的【工具】菜单下【选项】中将"文件位置"中的"默认目录"设置成考生目录即可(E:\WEXAM\00000000)。
另外,使用SQL命令不需要先打开表的哦!
8. VFP中新建视图的命令是什么啊
modify view 命令
请参阅
显示视图设计器,从中可以修改已存在的 SQL 视图。
语法
MODIFY VIEW ViewName [REMOTE]
参数
ViewName
指定要修改的视图名称。
REMOTE
指定该视图是一个使用远程表的远程视图。如果省略 REMOTE 子句,可以修改一个基于本地表的视图。
说明
使用 CREATE SQL VIEW 命令创建 SQL 视图。
包含 SQL 视图的数据库必须以独占方式打开。要以独占方式打开数据库,在 OPEN DATABASE 命令中包含 EXCLUSIVE 子句。