| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 491 人关注过本帖
标题:请教关于CA的使用问题
只看楼主 加入收藏
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:704
专家分:20
注 册:2014-1-16
结帖率:88.62%
收藏
已结贴  问题点数:20 回复次数:10 
请教关于CA的使用问题
创建ca,SelectCmd = "select * from shebei_zl_cs where id in (select bh from t)" ,其中shebei_zl_cs是sql远程表,t是本地表,前年我发了一个帖子,当时的版主说可以将本地表混在远程表中使用,但是我试了一下,没有成功,以下是我的代码,请师傅们帮我看下,能否混用?以下是CA的代码
程序代码:
CREATE CURSOR t(bh i)
INSERT INTO t (bh) values(207)  &&本地临时表
con = Sqlstringconnect([Driver={SQL Server};Server=PC-20221207NOOB;UID=sa;PWD=wjh-6552907;Database=yksb])
Public ca
ca=Createobject("CursorAdapter")
With ca
    .Alias = 'cs3'  &&别名
    .Datasource=con  &&建立的连接
    .DataSourceType = 'odbc'
    .SelectCmd = "select * from shebei_zl_cs where id in (select bh from t)"   &&sele 语句
    .KeyFieldList = 'id'  &&关键字
    .Tables = "cs3"  &&要修改的表
    .UpdatableFieldList = "id,id_zl" &&修改的字段
    .UpdateNameList ="id cs3.id,id_zl cs3.id_zl"   &&对应修改表的字段   这里必须包含关键字

    .CursorFill()   &&
Endwith
Select cs3      &&程序运行到这里出错
CursorSetProp("buffering",3)
browse



[此贴子已经被作者于2024-6-2 19:17编辑过]

搜索更多相关主题的帖子: select from 修改 关键字 本地 
2024-06-02 19:11
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:709
专家分:2848
注 册:2018-3-13
收藏
得分:7 
混用本地和远程表?怎么可能,明显不合逻辑

这家伙很懒,啥也没留下
2024-06-02 21:32
yiyanxiyin
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:242
专家分:1856
注 册:2023-6-29
收藏
得分:7 
你的语句需要改成: select * from shebei_zl_cs where id in (select bh from [VFP连接名]..[VFP用户].t)

[VFP连接名]为你事先在Sqlserver中通过ole db建立的vfp连接名,  上面的语句需要先在sqlserver里面测试通过然后再调试你的vfp代码


2024-06-03 09:44
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:704
专家分:20
注 册:2014-1-16
收藏
得分:0 
版主您好,能说得详细点吗

2024-06-04 20:39
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:704
专家分:20
注 册:2014-1-16
收藏
得分:0 
临时本地表怎么创建连接?在sqlserver里面还能创建连接? 通常我们所说的VFP连接不是在VFP数据库里面建立和其他数据库的连接吗

[此贴子已经被作者于2024-6-4 20:55编辑过]

2024-06-04 20:40
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:704
专家分:20
注 册:2014-1-16
收藏
得分:0 
我在SQLSERVER里面找了下,没有找到可以建立连接的地方啊
2024-06-04 21:05
yiyanxiyin
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:242
专家分:1856
注 册:2023-6-29
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2024-06-05 09:46
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:704
专家分:20
注 册:2014-1-16
收藏
得分:0 
非常感谢,但是还是有个问题,vfp数据库是不需要用户名的密码的啊
2024-06-06 07:01
easyppt
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:309
专家分:711
注 册:2021-11-24
收藏
得分:7 
你的思路和方向错了哦

你的需求应该是把  : select bh from t  在CA之前 把 bh枚举出来 作为字符串形式,放到 SQL里。

比如最终的SQL:  .SelectCmd = "select * from shebei_zl_cs where id in ('bh01','bh02','bh03')"


2024-06-06 08:03
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:704
专家分:20
注 册:2014-1-16
收藏
得分:0 
easyppt师傅,确实是这个意思,但是编号的数量是不可确定的啊,因为临时表T也是根据不确定的条件从SQL远程查询出来的啊,我想换一种思路,就是用SQLSERVE存储过程,直接在SQLSERVER做二次查询,这样好像效率高些,但是有个问题,vfp能从SQLSERVER存储过程能同时接受2个表吗?

[此贴子已经被作者于2024-6-6 14:59编辑过]

2024-06-06 14:58
快速回复:请教关于CA的使用问题
数据加载中...
 
   



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

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