以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教一个问题!!!!!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=30911)

--  作者:我爱狐表011
--  发布时间:2013/4/6 18:39:00
--  请教一个问题!!!!!

用户名:###

密   码:***

登陆按钮   取消按钮

主窗口标题:“主窗口”

 

我设置“登陆按钮”的click代码:

Dim dr As DataRow
Dim Ok As Boolean
Dim zhanghao As String = e.Form.Controls("TextBox1").Value
Dim mima As String = e.Form.Controls("TextBox2").Value
If zhanghao = Nothing Then
    MessageBox.Show("请输入您的登录账号!", "错误提示!",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
ElseIf mima = Nothing Then
    MessageBox.Show("请输入您的登录密码!", "错误提示!",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
Else
    DataTables("账号管理").LoadFilter= "[用户名] = \'" & zhanghao & "\'"
    DataTables("账号管理").Load
    dr = DataTables("账号管理").Find("[用户名] = \'" & zhanghao & "\'")
    If dr Is Nothing Then
        Messagebox.show("登陆账号和密码不一致!","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        e.Cancel = True
    ElseIf dr("密码") <> MD5Encrypt(mima) Then
        Messagebox.show("登陆账号和密码不一致!","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        e.Cancel = True
       Else
        DataTables.Save()
        e.Form.BaseForm.Hide()
        e.Form.close
        Forms("主窗口").Open()
    End If
End If

 

 

为什么打不开“主窗口”窗口呢,预览的时候也没有报错?

[此贴子已经被作者于2013-4-6 18:46:00编辑过]

--  作者:mamuaiqing
--  发布时间:2013/4/7 3:00:00
--  

If zhanghao = Nothing Then
    MessageBox.Show("请输入您的登录账号!", "错误提示!",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
ElseIf mima = Nothing Then
    MessageBox.Show("请输入您的登录密码!", "错误提示!",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True

应该是两行出问题了哈

 

zhanghao = Nothing 改为 zhanghao = "" Then

mima = Nothing 改为  mima = "" Then

 

搞不懂楼主为什么会用 = Nothing 来判断空值   就算用的话也是 Is Nothing 啊


--  作者:mamuaiqing
--  发布时间:2013/4/7 3:02:00
--  

发现狐表一个问题  如果写了一堆代码,只要当中有一行出问题,后面的代码都不会执行,也不会报错

 

楼主的代码就是一例子

[此贴子已经被作者于2013-4-7 3:06:05编辑过]

--  作者:mamuaiqing
--  发布时间:2013/4/7 3:05:00
--  

Dim zhanghao As String = e.Form.Controls("TextBox1").Value

 

这行代码中既然定义变量为字符,那字符返回的空值是 "" 

 


 

字符列:""
数值列:0
逻辑列:False
日期列:#0001-01-01 0:00:00#


--  作者:blackzhu
--  发布时间:2013/4/7 7:14:00
--  
这个不搭界的 是主窗口所有者表的关系.
--  作者:狐狸爸爸
--  发布时间:2013/4/7 9:20:00
--  

可能这个主窗口已经打开了,你没有看到而已。

假定你打开项目,显示的是表A,这个主窗口的所有者表是表B,你就看不到打开的主窗口,除非切换到表B.


--  作者:blackzhu
--  发布时间:2013/4/7 9:59:00
--  
这个昨日的群里帮他搞定了 就是所有者表的原因