| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3675 人关注过本帖
标题:VFP更新sql数据表出错!
只看楼主 加入收藏
wangjiayu45
Rank: 1
等 级:新手上路
帖 子:189
专家分:0
注 册:2010-4-23
结帖率:83.93%
收藏
已结贴  问题点数:20 回复次数:13 
VFP更新sql数据表出错!
&& command1 click 取数
  *  1、建立连接:
 PUBLIC nhandle&&读取数据的时候才连接。
nhandle=sqlstringconnect("driver={MySQL ODBC 8.0 Unicode Driver};server=127.0.0.1;uid=root;pwd=123456;database=wssgl;CHARSET=gb2312")

*2、按要求从MYSQL 基表byhmc取数。grdm 为主键,取(单位代码)dwdm为04的值到临时表"aaa "

iret=sqlexec(nhandle,"select xzbh,dwmc,dwdm,yhxm,yhbh,grdm,yhmm,qx,zcrq,bz,sfky from byhmc where left(dwdm,2)=05","AAA")
        THISFORM.GRID1.RECORDSOURCE="AAA"  &&给表grid1 数据源aaa   
        
*更新:如何从grid1修改临时表aaa,更新MYSQL 基表byhmc 的值
&&command2 click 修改/保存    出错!!!!
Select AAA
    Thisform.Grid1.RecordSource='AAA'
Set Multilocks On
    CursorSetProp("tables","Byhmc","AAA")  &&设置临时表的更新目标表
CursorSetProp("keyfieldlist","grdm","AAA")  &&设置临时表的关键字
CursorSetProp("UpdateType",1,"AAA")  &&设置用新数据更新旧数据
    CursorSetProp("updatablefieldlist","xzbh,dwmc,yhxm,grdm","AAA")&&设置临时表的更新字段
CursorSetProp("updatenamelist","grdm byhmc.grdm ,yhxm byhmc.yhxm,xzbh byhmc.xzbh","AAA")  &&&用Temp1中的相应字段更新byhmc表
CursorSetProp("wheretype",2)
CursorSetProp("buffering",5)&&设置表缓冲
 use in byhmc &&关闭SQL基表byhmc表
  SQLDISCONNECT(nhandle) &&关闭连接
      
thisform.grid1.Refresh
请老师帮忙为什么临时表不能更新临时表。
搜索更多相关主题的帖子: 更新 sql 出错 临时表 aaa 
2019-06-25 16:35
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:766
专家分:2517
注 册:2011-5-8
收藏
得分:0 
用远程视图方便多了。

dBase有人接盘了。
2019-06-25 16:51
wangjiayu45
Rank: 1
等 级:新手上路
帖 子:189
专家分:0
注 册:2010-4-23
收藏
得分:0 
回复 2楼 xuminxz
我也想用远程视图,可每次查询按单位dwdm查询,我不知道在远程视图里怎么设计。请老师指教。
2019-06-26 07:57
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:766
专家分:2517
注 册:2011-5-8
收藏
得分:0 
设置参数视图
图片附件: 游客没有浏览图片的权限,请 登录注册

条件中输入 ?变量名,打开视图前要给变量赋值,如改变参数,只需给对应的变量重新赋值,然后用REQUERY()函数,就可以刷新视图的数据了。

dBase有人接盘了。
2019-06-26 08:06
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:766
专家分:2517
注 册:2011-5-8
收藏
得分:0 
设置参数视图
图片附件: 游客没有浏览图片的权限,请 登录注册

条件中输入 ?变量名,打开视图前要给变量赋值,如改变参数,只需给对应的变量重新赋值,然后用REQUERY()函数,就可以刷新视图的数据了。

dBase有人接盘了。
2019-06-26 08:06
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:991
专家分:4966
注 册:2013-2-16
收藏
得分:5 
如果需要取出数据后修改,用远程视图方便些,提交后他后台自动完成修改(必须要设置主键)不必写多余的代码。

2019-06-26 09:26
wangjiayu45
Rank: 1
等 级:新手上路
帖 子:189
专家分:0
注 册:2010-4-23
收藏
得分:0 
回复 5楼 xuminxz
请问在vfp9.0 command2 click 事件中怎样表达?
1:连接数据库
2:??

第一次使用其他数据库和远程视图。请老师赐教!!谢谢。
**************
PUBLIC nhandle&&连接
nhandle=sqlstringconnect("driver={MySQL ODBC 8.0 Unicode Driver};server=127.0.0.1;uid=root;pwd=123456;database=wssgl;CHARSET=gb2312")

REQUERY("Styhmc_dwdm")&& 刷新视图表

_DWDM="06"  &&弹出对话框,要输入“?_DWDM”查询的值。这地方不知道怎么下手写
GO bottom


[此贴子已经被作者于2019-6-27 09:34编辑过]

2019-06-27 08:50
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:766
专家分:2517
注 册:2011-5-8
收藏
得分:0 
1、建立一个数据库(不是表)
2、在数据库中建立连接
3、在数据库中建立远程视图
视图分可更新与不可更新两类,不可更新视图是只读的。可更新视图可以指定可更新字段。
用法与表基本相同。
有两个重要的不同:
1 PACK命令不能用于视图
2 delete不只是删除标记,只要关闭远程(可更新)视图,做删除标记的记录会彻底删除。Requery()函数也会立即删除  有delete标记的记录。

dBase有人接盘了。
2019-06-27 09:46
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:766
专家分:2517
注 册:2011-5-8
收藏
得分:0 
回复 7楼 wangjiayu45
_DWDM="06"  && 先给_DWDM赋值值
REQUERY("Styhmc_dwdm")&& 刷新视图表

dBase有人接盘了。
2019-06-27 09:48
wangjiayu45
Rank: 1
等 级:新手上路
帖 子:189
专家分:0
注 册:2010-4-23
收藏
得分:0 
回复 9楼 xuminxz
可是,还是出现对话框??
图片附件: 游客没有浏览图片的权限,请 登录注册

_DWDM="06"  && 给_DWDM赋值  无效

[此贴子已经被作者于2019-6-27 10:11编辑过]

2019-06-27 10:05
快速回复:VFP更新sql数据表出错!
数据加载中...
 
   



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

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