根据名称获得变量的值的问题 (反射)

qinboody 2008-04-15 10:55:54
模组中有个公用变量 id=“123” 要写一个函数把SQL中的字符串比如“select *from tb where id =@id” @id取代成123后再执行SQL 
我现在的问题是 已经拿到@id了,是个字符串。怎么转化成和它名字相同的公用变量,然后拿到值。
我現在的項目里,是動態報表里需要這么處理.
在設定里面寫語句. 然后用戶選擇相應的語句,后台根据語句的組成自動生成界面供用戶輸入條件.然后查詢.
所以.參數是變化的. 需要根据名稱找名稱相同的變量的值.
謝謝大家啊..幫忙頂起來.

 请高手解答。
...全文
242 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qinboody 2008-04-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xiaoxuanZhu 的回复:]

不用这种方式@id;而是使用动态改变str,在赋值给你的sqlcommandtext怎么样呢?
public function CmdTxt(byval tabname as string,byval id as integer ) as string
dim sqlstr as string="select * from " & tabname & " where id ='" & id & "'"
return sqlstr
end function
[/Quote]
妳這個方法我已經在使用中.具体來說.用戶輸入的那些條件是用妳所說的方法.
比如 主表中 .select * from talbe where id=@strId 從表中有條件字段 company_id
那么我會組合select * from talbe where id=@strId and company_id='y用戶輸入'
同時我要處理@strId 因為@strID 還沒獲得值.每個語句都是不同的.@個數也不同.固所代表的共有變量也不同.
現在我把他可以拿到.想根据拿到的這個字符串去得到變量值.重新組合查詢語句.
晓轩 2008-04-15
  • 打赏
  • 举报
回复

不用这种方式@id;而是使用动态改变str,在赋值给你的sqlcommandtext怎么样呢?
public function CmdTxt(byval tabname as string,byval id as integer ) as string
dim sqlstr as string="select * from " & tabname & " where id ='" & id & "'"
return sqlstr
end function
水如烟 2008-04-15
  • 打赏
  • 举报
回复
仅供参考:

处理隐蔽的类或类的隐蔽属性TypeHelper
http://blog.csdn.net/lzmtw/archive/2007/11/17/1890601.aspx
rockyvan 2008-04-15
  • 打赏
  • 举报
回复
學習。
qinboody 2008-04-15
  • 打赏
  • 举报
回复
TO 水

正在參考中.非常感謝...

16,718

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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