问题集结(二)

前端之家收集整理的这篇文章主要介绍了问题集结(二)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

5.

txtsql = "select *from student_info" 'where UserID='" & Trim(txtUserName.Text)& "'" & "order by UserID"

Set mrc= Executesql(txtsqlday,MsgTextday)


mrc.EOFTrim(mrc.Fields(0)) <>Trim(txtUserName.Text)语句区别,为什么前者不存在其他问题,而后者出现如下图问题?


这是因为前面数据字段连接的时候,已经通过字段UserID连接,下面代码mrc就可以直接替代mrc.fields(0),而多次读取它就会多余,系统容易反应不过来(我个人理解,其他答案可以和我分享哦)


6.登陆进来以后怎么判断用户的权限?

直接判断数据字段内容,符合要求就显示某些功能,不符合则不能使用。

例:

Private Sub MDIForm_Load()

Dim mrc As ADODB.Recordset
Dim txtsql As String,MsgText As String


txtsql = "select * from User_Info where userID='" & UserName & "'" '数据表定位连接
Set mrc = Executesql(txtsql,MsgText)


If mrc.BOF And mrc.EOF Then


Else


If mrc.Fields(2) = "一般用户" Then
' Generaluser.Enabled=True(如果属性是默认值,则此语句可有可无)
Operator.Enabled = False


Administrator.Enabled = False


ElseIf mrc.Fields(2) = "操作员" Then
Operator.Enabled = True
Administrator.Enabled = False


ElseIf mrc.Fields(2) = "管理员" Then
Administrator.Enabled = True


End If
End If

End sub

7.在主窗体下,菜单为什么显示Picture后面?

因为 MDI 程序中 子窗体实际上是位于 MDIClient 里,就是说 子窗体的父窗体 MDIClient ,而 放置在MDI pictureBox MDIClient是同一级的 层次结构

ThunderMDIForm--MDIForm1

--MDIClient

----ThunderFormDC--Form1子窗体1

----ThunderFormDC--Form2子窗体2

--ThunderPictureBoxDCMDI pictureBox 如果硬要将子窗体放到上面 ,只能是

PrivateDeclare Function SetParent Lib "user32" (ByVal hWndChild As Long,ByVal hWndNewParent As Long) As Long

SetParentForm1.hWnd,MDIForm1.hWnd

这样就破坏了 Form1的消息循环,程序可以运行,但窗体效果就不对了

MDI主窗体中显示一个背景,是MDI自绘背景 图片应该绘制在MDIClient上,而不能加载pictureBox ,这个要通过回调才能实现VB MDI 显示背景图

PrivateSub MDIForm_Load()

Me.Picture= LoadPicture("c:\1.bmp")

EndSub

只能显示在左上角

8.判读数据是否更改,如果没有修改不允许放入数据库,否则放入数据库

思路:将数据内容数据库内容想对比,都相同则就是没有更改,否则就是已经修改的,修改过的通过Update更新。

猜你在找的VB相关文章