在pb代码中如何实现update sysobjects

xister 2008-04-17 11:51:13
大家知道想要更新系统表sysobjects在查询分析器中可用
sp_configure 'allow updates',1
reconfigure with override
go
update sysobjects set crdate='2003-12-14' where id=10
go
sp_configure 'allow updates',0
reconfigure with override
可以上这些代码我如何在PB 中写代码来实现呢?
以下是我定的代码不过不能执行成功,请高手指点。
DECLARE sp_ca PROCEDURE FOR sys.sp_configure
@configname = 'allow updates',
@configvalue = 1 ;
execute sp_ca;
if sqlca.sqlcode=-1 then
gs_error=sqlca.sqlerrtext
rollback;
messagebox('error',gs_error)
return -1
end if
ls_sql="reconfigure with override"
EXECUTE IMMEDIATE :ls_sql using sqlca;

update sysobjects set crdate='2003-12-14' where name='gdzc_yw_pjtj';
//此种写法PB中就不能compile,提示“DATABASE C0038:不允许对系统目录即席更新”
if sqlca.sqlcode=-1 then
gs_error=sqlca.sqlerrtext
rollback;
messagebox('error',gs_error)
return -1
end if

ls_sql="update sysobjects set crdate='2003-12-14' where name='gdzc_yw_pjtj' "
EXECUTE IMMEDIATE :ls_sql using sqlca;
//这种写法执行没有效果

DECLARE sp_cb PROCEDURE FOR sys.sp_configure
@configname = 'allow updates',
@configvalue = 0 ;
execute sp_cb;
if sqlca.sqlcode=-1 then
gs_error=sqlca.sqlerrtext
rollback;
messagebox('error',gs_error)
return -1
end if
ls_sql="reconfigure with override"
EXECUTE IMMEDIATE :ls_sql using sqlca;
...全文
153 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xister 2008-05-19
  • 打赏
  • 举报
回复
我的想法就是想在不加存储的情况下实现!
ribut9225 2008-04-21
  • 打赏
  • 举报
回复
同意一楼的做法
编程夜猫 2008-04-20
  • 打赏
  • 举报
回复
写存储过程
dp_UpdateSysTable
如下:
Create Procedure dp_UpdateSysTable
@date1 varchar(10),@name varchar(200)
as
begin
sp_configure 'allow updates',1
reconfigure with override
go
update sysobjects set crdate=@date1 where name=@name
go
sp_configure 'allow updates',0
reconfigure with override

end
然后在PB中调用这此存储过程
xister 2008-04-20
  • 打赏
  • 举报
回复
期待大家的回答!
编程夜猫 2008-04-18
  • 打赏
  • 举报
回复
试试写成带参数的存储,然后要PB中调用。
内容概要:本文详细描述了机械零件Part4的设计与建模过程,重点围绕三维建模中的几何构造操作展开。首先基于原零件三视图确定关键尺寸,依次创建多个同心圆柱体结构,包括外层圆柱体(52、52、5)、中间圆柱体(25、25、7)以及中心孔结构(16、16、12)。随后对底部圆柱体进行临时加高处理,以便在顶面草绘中构建辅助图形:以计算得出的半径17.5画圆,并在其接触面上方绘制半径为3的小圆,进而引出两条分别成60°和-60°的斜线,配合一条水平线形成三角形轮廓。接着在其余两角复制相同的小圆结构,清理多余线条后完成草图设计。利用该草图执行“拉伸切除”操作,深度设为16.28mm,实现特征开槽。最后将底部圆柱体恢复原始高度5mm,完成整体结构修改。; 适合人群:具备基础CAD建模能力的机械设计人员或工科类学生;熟悉SolidWorks、AutoCAD等三维设计软件的操作者;从事零部件逆向设计或结构优化的技术人员。; 使用场景及目标:①用于学习复杂零件的分步建模方法,掌握从三视图到三维实体的转换技巧;②理解拉伸、切除、草图约束、包围盒设置等核心建模命令的实际应用;③提升对尺寸链计算、辅助线构建及几何关系控制的理解与实践能力。; 阅读建议:建议结合文中参数逐步在建模软件中复现操作,重点关注草图绘制逻辑与切除特征的关联性,注意各步骤间的顺序依赖关系,避免因尺寸或约束错误导致建模失败。
内容概要:本文系统阐述了基于格子Boltzmann方法(Lattice Boltzmann Method, LBM)对二维通道内多孔介质流动进行数值模拟的理论体系、Matlab代码实现流程及结果验证方法。深入剖析了LBM在处理复杂流体系统尤其是不规则几何结构多孔介质流动中的独特优势,详细介绍了模型构建过程、边界条件设定、碰撞与传播环节的算法实现机制,并通过Matlab编程完成仿真运算,实现了对速度场、压力场等关键物理量的可视化分析与精度验证,确保模拟结果具备良好的准确性与可靠性。; 适合人群:具备流体力学基础知识和一定Matlab编程能力的研究生、科研人员及工程技术人员,尤其适合从事多孔介质流动、计算流体力学(CFD)或LBM方法研究的相关领域研究人员。; 使用场景及目标:①掌握格子Boltzmann方法的核心原理及其在多孔介质流动模拟中的具体应用;②学习利用Matlab实现LBM算法并开展科学计算与结果可视化的方法;③为相关科研项目、学术论文复现或实际工程仿真提供可复用的代码框架与技术实施路径。; 阅读建议:建议读者结合流体力学与数值计算相关背景知识,逐步理解算法推导过程,动手运行并调试所提供的Matlab代码,通过调整参数或几何模型加深对LBM方法灵活性与适用性的认识,同时鼓励将该方法拓展至三维流动或多物理场耦合问题的研究中。

754

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧