| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1344 人关注过本帖
标题:请教:用命令create SQL view创建视图,能不能更新源表啊?
只看楼主 加入收藏
qshuju
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:217
专家分:112
注 册:2011-6-9
结帖率:82.14%
收藏
已结贴  问题点数:50 回复次数:14 
请教:用命令create SQL view创建视图,能不能更新源表啊?
我想创建一个SQL本地视图,用来灵活地查询。看了下create SQL view可以创建视图,但不知这个命令所创建的视图能不能直接修改后更新到源表?
我的表单是这样的,其中有一个grid控件,用来显示视图(也就是查询结果)。想在查找出来后,可以修改,并且更新到源表中。 恳请指教啊!!!
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: create 
2013-04-11 16:30
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:50 
看你这张表单的情况,貌似没有可以修改的地儿啊。不过,说一下,可以同步更新源表的。但要做好以下五步:设置要更新的表;设置字段映射;设置关键字;设置可更新字段(不建议更新关键字段);激活视图的更新功能。这五步可以用人机交互方式做,也可以用一个函数实现。鉴于你是在程序中做,建议你使用函数方式后台处理这五步较好。这个函数是DBSETPROP(名字,  类型,  属性,  属性值)。
具体使用方法,你可到https://down.bccn.net/4166.html下载我写的《FoxPro 9.0 SP2入门手册(2013-1版)》一书,在第六章第二节中有详细的介绍(P143-148)。希望对你这个程序有点帮助。
2013-04-11 16:45
晴非得雨
Rank: 2
等 级:论坛游民
帖 子:14
专家分:45
注 册:2012-10-9
收藏
得分:0 
以下是引用taifu945在2013-4-11 16:45:06的发言:

看你这张表单的情况,貌似没有可以修改的地儿啊。不过,说一下,可以同步更新源表的。但要做好以下五步:设置要更新的表;设置字段映射;设置关键字;设置可更新字段(不建议更新关键字段);激活视图的更新功能。这五步可以用人机交互方式做,也可以用一个函数实现。鉴于你是在程序中做,建议你使用函数方式后台处理这五步较好。这个函数是DBSETPROP(名字,  类型,  属性,  属性值)。
具体使用方法,你可到https://down.bccn.net/4166.html下载我写的《FoxPro 9.0 SP2入门手册(2013-1版)》一书,在第六章第二节中有详细的介绍(P143-148)。希望对你这个程序有点帮助。
一直不知道哪位是作者,感谢您编的入门手册,电子版看过好几遍,刚打印一本纸质文档,爱不释手。
希望能再写本提高篇,现在这类资料太稀缺。还有操作SQL服务器的例程能否多介绍下

[ 本帖最后由 晴非得雨 于 2013-4-11 20:40 编辑 ]
2013-04-11 20:37
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
以下是引用晴非得雨在2013-4-11 20:37:34的发言:

一直不知道哪位是作者,感谢您编的入门手册,电子版看过好几遍,刚打印一本纸质文档,爱不释手。
希望能再写本提高篇,现在这类资料太稀缺。还有操作SQL服务器的例程能否多介绍下

呵呵,谢谢关注本人写的书。我在单位经常做基础数据库的工作,包括统计等等,所以这些方面比较在行。办公室里有另一SQL服务器的高手,用的是Oracle,可惜他只会做,不会写。最近在写Excel的一个很强的插件—ASAP Utilities—的中文使用手册,貌似目前为止,网上还没有(该插件是全英文的)。如果你对Excel和该插件感兴趣的话,跟帖留下电邮,我发给你(核心部分几分钟前刚写完,就是还没校对过)。
2013-04-11 22:34
qshuju
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:217
专家分:112
注 册:2011-6-9
收藏
得分:0 
回复 2楼 taifu945
你好,非常感谢你的回复。
我的意思是:根据不同的查询条件,灵活的生成视图,然后把grid1的数据源设置为该视图,然后修改就在gird1中(也就是在视图中)修改,修改后要求可以更新到源表中。
我想用代码来根据所设置的不同查询条件灵活的生成视图,然后直接在GRID中修改。
不知教师能否帮助一下。
2013-04-12 11:36
qshuju
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:217
专家分:112
注 册:2011-6-9
收藏
得分:0 
我这样做的目的就是想查询结果能被在表格grid控件中直接修改。
像这样的多条件查询用宏替换可以实现,但我不知道在视图中怎么弄。。。请大侠们帮忙啊
2013-04-12 11:53
qshuju
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:217
专家分:112
注 册:2011-6-9
收藏
得分:0 
回复 2楼 taifu945
图中“查询结果:”下面是个grid控件,也就是用来显示视图的地方,我想在grid中直接修改。
2013-04-12 11:55
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
楼主,明白你的意思了。在FoxPro中,要联动源数据表,肯定要经过上面的五步设置,但有时候并不是设置了上面五步后就能更新成功的。比如:在Browse命令中,修改了视图数据后就不会反映到源数据里,但EDIT、CHANGE、REPLACE、UPDATE-SQL命令就可以。表格控件我倒是没有测试过,你可以试试。
2013-04-12 13:08
qshuju
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:217
专家分:112
注 册:2011-6-9
收藏
得分:0 
回复 8楼 taifu945
谢谢老师指点,也非常感谢你的书,我正在学习。我觉得是可以实现的。再次表示感谢。
上学的时候,老师重点教的表单及控件、SQL,对于视图、菜单等讲得比较少。或者是一带而过,或者是我学的不好,我现在工作中用到了VFP9,对这块应用特少,尤其是表文件的更新、修改,要么用的是update语句更新,要么就打开源表进行直接修改。。一直没用视图,现在用了视图才觉得还是视图比较好,修改起来比较方便,源表数据也比较安全。。本来我程序已经做得差不多了,但现在看来,要把视图加进来,许多东西可能还要重新加工。
谢谢,我结贴了。如果我能做好的话,我尽量把结果贴进来。但我相信,看了你书上讲的,用代码建立灵活的视图应该不成问题。
但我不知道每次查询都要根据条件建立一个新视图会不会有坏处?对一个查询表单来说,设计是不是应该这样?
2013-04-12 15:35
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
以下是引用qshuju在2013-4-12 15:35:22的发言:

谢谢老师指点,也非常感谢你的书,我正在学习。我觉得是可以实现的。再次表示感谢。
上学的时候,老师重点教的表单及控件、SQL,对于视图、菜单等讲得比较少。或者是一带而过,或者是我学的不好,我现在工作中用到了VFP9,对这块应用特少,尤其是表文件的更新、修改,要么用的是update语句更新,要么就打开源表进行直接修改。。一直没用视图,现在用了视图才觉得还是视图比较好,修改起来比较方便,源表数据也比较安全。。本来我程序已经做得差不多了,但现在看来,要把视图加进来,许多东西可能还要重新加工。
谢谢,我结贴了。如果我能做好的话,我尽量把结果贴进来。但我相信,看了你书上讲的,用代码建立灵活的视图应该不成问题。
但我不知道每次查询都要根据条件建立一个新视图会不会有坏处?对一个查询表单来说,设计是不是应该这样?

我个人认为:如果条件经常变化的查询好象不太适合建立视图,除非你每次都要对查询出来的数据进行更新。但是,直接对源数据表进行有条件地更新也有很多手段,谈不上安不安全。如果命令写错了,即使用视图也不安全。鉴于此,我书上写了:对相同数据进行3次或以上次数的相同条件查询才建议用视图。这样,可以加快程序的运行速度,不需要经常查询,尤其对于记录数庞大的表文件来说。所以,如果你建立视图只是为了更新数据,建立你学习一下UPDATA-SQL命令,它可以用子查询作为条件或结果值来更新源数据,用法比较丰富,应该可以满足你修改的需要。
2013-04-12 16:35
快速回复:请教:用命令create SQL view创建视图,能不能更新源表啊?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027523 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved