社区
VFP
帖子详情
調用存儲過程修改表格某一字段的值
chjpeng
2002-12-30 03:18:26
請教一個update表格時自動調用存儲過程
存儲過程要實現修改表格某一字段的值
...全文
135
17
打赏
收藏
調用存儲過程修改表格某一字段的值
請教一個update表格時自動調用存儲過程 存儲過程要實現修改表格某一字段的值
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chjpeng
2003-01-08
打赏
举报
回复
好像存儲過程不可以直接對表格進行修改的(是本表),好像要調用什么系統機制來獲得表名和字段名,再來更新的
因是在表單里面觸發的,在表單的數據環境里面已經包含了這個表,別名同表格名
chjpeng
2003-01-08
打赏
举报
回复
算了,還是自己用其他方法解決
設一個全局變量editkey="0",edit cmdButton的click事件令editkey="1"
在save cmdButton的click事件中加入:
select bctb
if editkey="1"
replace modi_by with suserid
replace modi_date with date()
editkey="0"
endif
不理想也算可以實現
謝謝樓上各位的回答!
magnetmoon
2003-01-07
打赏
举报
回复
同一个表也可以改,如果要移动记录指针,可能要用不同的别名打开,
xiolig
2003-01-07
打赏
举报
回复
to 明月:
如果是同一个表呢?
magnetmoon
2003-01-07
打赏
举报
回复
我是这样测试的,你可以参考一下:
目的:通过改表asub的值,来自动修改表asub2的值.
1.
modi proc
function ub()
select asub2
editkey="1"
if editkey="1"
replace ord_id with 'suserid'
replace mat_id with 'date()'
else
editkey="0"
endif
return .t.
endfunc
2.
use asub
modi stru
在Update trigger写ub()
3.
use asub
brow
随便改几个值.
4.
use asub2
brow
值变了呀.
chjpeng
2003-01-07
打赏
举报
回复
還是錯誤提示:無法更新暫存資料表格
我是用的replace,用update不行,提示程序錯誤,更新不需要where作條件判斷
>>并不是在表單中更新或是在表單中調用,而是在表格的觸發式程序中的更新觸發式程序中調用
magnetmoon
2003-01-07
打赏
举报
回复
我试了一下,可以更新呀,并没出现错误.
你退出vfp,重新进入试试
chjpeng
2003-01-07
打赏
举报
回复
是表bctb,
返回.t.結果還是一樣的,還是會出現如上的錯誤提示
magnetmoon
2003-01-07
打赏
举报
回复
你没仔细看我的代码,一定要返回.t./.f.
modi_by及modi_date是字段名,它们在哪个表中?
chjpeng
2003-01-06
打赏
举报
回复
liujianjun_(流星尔):
謝謝你的回答,不過你說的好像是建立sql存儲過程吧?我問的是建立FoxPro的存儲過程,來實現更新表格,是在更新表格update table時自動調用這個過程的
流星尔
2003-01-06
打赏
举报
回复
在企业管理器的存储过程中选择新建,选存储过程
然后加入
create proc procname
as
update tablename set fieldname=newvalue where ...
chjpeng
2003-01-06
打赏
举报
回复
可以說是不需要其它代碼參與的,例如我在一個form里修改一個表格,存盤時系統會自動觸發表格的update事件,我想在這個事件觸發時執行一個過程,執行修改這個表格的兩個字段為新值
我寫了個這樣的程序:
function _updatetb()
select bctb
*bctb是表格名,上面一句要不要都一樣
if editkey="1"
*editkey是個全局變量
replace modi_by with suserid
replace modi_date with date()
else
editkey="0"
endif
*modi_by及modi_date是字段名,suserid是個全局變量
endfunc
更新表格時會出現錯誤提示:無法更新暫存資料表格
不知是什么原因?
magnetmoon
2003-01-06
打赏
举报
回复
把你的代码帖出来.
xiolig
2003-01-06
打赏
举报
回复
关注中:是不是不能在触发器中更新本表呢?
chjpeng
2003-01-06
打赏
举报
回复
還是不行,提示錯誤:驗証規則中出現不正確的遞回
magnetmoon
2003-01-06
打赏
举报
回复
1.
modi proc
2.
func sp_ru()
update tablename set fieldname=newvalue where ...
return .t.
3.
modi stru
在Update trigger写sp_ru()
chjpeng
2002-12-30
打赏
举报
回复
存儲過程怎么寫?很簡單一個問題,誰來幫幫忙啊?
ThinkPHP新闻发布系统(前台+后台)绝对易学易用
例如,创建一个ArticleController,实现文章的添加、
修改
、删除、查询等操作。 3. 模型(Model):模型负责与数据库的交互,包括数据的增删改查。在ThinkPHP中,你可以使用ActiveRecord模式,通过对象方法直接操作...
帆软报表调用mysql存储过程_FineReport调用存储过程
首先分析这个问题的条件和要求:条件:只有一个ID,依靠这个ID能查询出一个数据库表名的集合(表名是通过各种
字段
拼接起来的)要求:要遍历这个数据库表名集合查询出对应的数据FineReport即帆软,可以制作模版,通过...
Python调用MSSQL存储过程(pyodbc库)
Python调用MSSQL存储过程(pyodbc库)
Spring-data-jpa调用MySQL存储过程(返回
值
探究)
由于多次测试,使用注解调用有返回
值
的存储过程较麻烦,这里先以远程SQL调用存储的方法进行测试。 =================================================== 一、调用无返回
值
的存储过程 (1)实体类 package ...
通过oracle触发器调用存储过程发送http请求
现在我要说的是怎么通过触发器调用存储过程发送http请求 --触发器: --语法: create [or replace] tigger 触发器名 触发时间 触发事件 on 表名 [for each row] begin pl/sql语句/存储过程 end --...
VFP
2,748
社区成员
29,140
社区内容
发帖
与我相关
我的任务
VFP
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
复制链接
扫一扫
分享
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章