怎么把数据库的字段转换成过程名?

孙月魂 2011-05-26 02:43:53
我想把一个过程名存到数据库中,然后再从数据库中取出来打开,要怎么办了?
...全文
71 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
coderee 2011-05-27
  • 打赏
  • 举报
回复
路过。
lyhoo163 2011-05-27
  • 打赏
  • 举报
回复
关注。
tomorrow619810 2011-05-26
  • 打赏
  • 举报
回复
你这个其实就是 Java 中的反射了 ,你要把 方法放在 TMyclass 中的 publish 属性区域 ,在delphi2007 后 支持 自己手动实现的 反射 ,具体代码 我不记得了以前实现过 ,你在网上 找 “delphi 实现反射 ”很多的 ,
不过要在 delphi 2007 以后 才能实现。
sundayzhao 2011-05-26
  • 打赏
  • 举报
回复
你说的是存储过程还是什么,如果是存储过程,可以取出名称
qry1.sql.text=' Exec 过程名';
qry1.execsql;

如果是程序中的过程,则不行了。可以考虑用动态库,所有过程放入动态库,然后用GetMethodAddress,取到程序地址,然后执行,但是要求参数都相同。

另外,只能程序根据过程名执行相应的过程(做死的,有几个过程,程序写几个)
pName:string;
pName:=GetProcName();
if pName='a' then
a
else if pName='b' then
b
else
c;





孙月魂 2011-05-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 varick_zhong 的回复:]
exec(SQL语句 ) 这样就行了嘛
[/Quote]
不行,用不了~
varick_zhong 2011-05-26
  • 打赏
  • 举报
回复
exec(SQL语句 ) 这样就行了嘛
孙月魂 2011-05-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lhs203203 的回复:]
将过程名称当做string存储到数据库中
使用的时候定义一个过程变量 然后强制转换string 直接使用看看行不行!
[/Quote]
有代码吗?
lhs203203 2011-05-26
  • 打赏
  • 举报
回复
将过程名称当做string存储到数据库中
使用的时候定义一个过程变量 然后强制转换string 直接使用看看行不行!
bdmh 2011-05-26
  • 打赏
  • 举报
回复
用MethodAddress根据名字取到地址,然后执行

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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