delphi中这段代码是什么意思。菜鸟求教,知道的说下谢谢了!!

procedureTMainFrm.IniMainForm;functionChkMenu(MenuStr:string):Boolean;beginifUpperCas... procedure TMainFrm.IniMainForm;
function ChkMenu(MenuStr: string): Boolean;
begin
if UpperCase(gOperId) = 'CMJB' then
result := true
else begin
IDcardDm.dtTmp.Close;
IDcardDm.dtTmp.CommandText := 'Select * from OperRights where '
+ ' UserID=''' + gOperId + ''' and charindex(''' + MenuStr + ''',moldname)>0 ';
IDcardDm.dtTmp.Open;
if IDcardDm.dtTmp.RecordCount > 0 then
result := true
else
result := false;
end;
end;
展开
 我来答 举报
hushaowq
2012-01-31 · TA获得超过126个赞
知道小有建树答主
回答量:409
采纳率:0%
帮助的人:281万
展开全部
第一,特权用户是'CMJB' 如果是'CMJB'登录,返回真.
第二,如果不是"CMJB"登录,读取OperRights(应该是OpneRights)表,看用户ID(UserID)与界面的比较结果,如果OperRights里有记录,返回真,否则返回假.
jupiterhunter
2012-01-31
知道答主
回答量:52
采纳率:0%
帮助的人:11.1万
展开全部
procedure TMainFrm.IniMainForm; //给窗体类TMainFrm 定义方法IniMainForm
function ChkMenu(MenuStr: string): Boolean;// 在 IniMainForm 方法里面定义 ChkMenu函数

IDcardDm.dtTmp.CommandText := 'Select * from OperRights where '
+ ' UserID=''' + gOperId + ''' and charindex(''' + MenuStr + ''',moldname)>0 ';
//使用ado控件打开sql语句,查看 moldname 是否包含在MenuStr 里,charindex 是sqlserver 的函数,CHARINDEX函数常常用来在一段字符中搜索字符或者字符串。

总体来说,ChkMenu 函数只有在 gOperId 全部大写后 是 'CMJB' 或者
'Select * from OperRights where '
+ ' UserID=''' + gOperId + ''' and charindex(''' + MenuStr + ''',moldname)>0 语句有结果,该函数才放回真,否则返回假
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论(1) 举报 收起
hydonlee
2012-01-31 · TA获得超过590个赞
知道小有建树答主
回答量:859
采纳率:0%
帮助的人:451万
展开全部
这个效率也太低了吧。。。如果有1000个菜单项目,就要执行1000次啊。
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
bd9006
2012-01-31 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4.8万
采纳率:63%
帮助的人:1.7亿
展开全部
判断是否有权限操作某个菜单
追问
能解释清楚点吗???谢谢了!
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
匿名用户
2012-01-31
展开全部
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式