版主,分几个程序,或者前面说的分几个表,似乎浪费了系统资源,另外如果这个程序设计的是可以注册用户名,那岂不是要建n多个表了?版主你看我之前的思路如何,定义全局变量caozuoyuan,登陆成功后赋值登陆用户名,在主程序使用或者调用数据库时,先查询当前caozuoyuan赋值的用户名,然后再查找调用该数据库或者表中关键字为该用户名的所有数据。
没有用户数据表,你怎么查找、对比用户帐号和密码呢?——我当然知道要建立表,首先建立了个操作员表(用户名,密码)。
登录之后,后面根据登录帐号来查找数据就可以了,但登录这个动作本身就要从数据表中查数据,只要定位出当前的用户记录,这条记录就已经起着caozuoyuan那样的作用了,有需要就跟这条记录上的字段进行比对,用不着建立全局变量。
这个是个好办法,关键是如何定位出当前的用户记录呢?
登陆的确定Click
private zg,mm
zg=alltrim(thisform.Text1.value) &&用户名
mm=alltrim(thisform.Text2.value) &&密码
locate for zg==alltrim(操作员.用户名)
if found() and alltrim(操作员.密码)==mm
caozuoyuan=alltrim(操作员.用户名)
thisform.visible=.f.
do zhumenu.mpr
else
messagebox('用户名或密码错误,请重新输入!',0+48,'错误!')
thisform.Text2.value=''
thisform.Text1.setfocus
endif
set exact off
我这样赋值caozuoyuan,单主程序里面却不认这个变量了,所以我思考用全局变量。