以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请帮忙检查一下代码有什么问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=9806)

--  作者:yeyun
--  发布时间:2011/5/8 18:17:00
--  请帮忙检查一下代码有什么问题

Dim pass=e.Form.Controls("密码").value
Dim pass2=e.Form.Controls("密码确认").value
Dim zsname=e.Form.Controls("真实姓名").value
Dim id=e.Form.Controls("身份证号").value
Dim phone=e.Form.Controls("联系电话").value
Dim qq=e.Form.Controls("联系QQ").value
Dim email=e.Form.Controls("电子邮件").value
Dim adress=e.Form.Controls("联系地址").value
If name="" Then
 MessageBox.Show("请输入用户名,用户名必填!")
ElseIf pass="" Then MessageBox.Show("请输入密码,密码必填!")
ElseIf pass2="" Then MessageBox.Show("请确认密码!")
ElseIf zsname="" Then messagebox.Show("请输入真实姓名,真实姓名必填!")
ElseIf id="" Then MessageBox.Show("请输入身份证号码!,身份证号必填!")
       If id.length <> 18 Then MessageBox.Show("输入身份证号无效!")
ElseIf ph" Or email="" Then MessageBox.Show("联系电话\\联系QQ\\电子邮件三项中,必须选择一项榶填写!")
    Select Case email
    Case Is <>""
    If (Is Like *@*.*[a-z])=False Then MessageBox.Show("输入的电子邮件格式不正确!")
    End Select
Else      
Dim dr As DataRow= DataTables("用户登陆表").AddNew()
dr("用户名")=e.Form.Controls("用户名").VALUE
dr("密码")=e.Form.Controls("密码").VALUE
Dim ddr As DataRow=DataTables("用户信息表").AddNew()
ddr("用户名")=e.Form.Controls("用户名").value
ddr("真实姓名")=e.Form.Controls("真实姓名").value
ddr("身份证号")=e.Form.Controls("身份证号").value
ddr("性别")=ReadSex(e.Form.Controls("身份证号").value)
ddr("出生日期")=ReadBirthDay(e.Form.Controls("身份证号").value)
ddr("年龄")=e.Form.Controls("年龄").value
ddr("联系电话")=e.Form.Controls("联系电话").value
ddr("联系QQ")=e.Form.Controls("联系QQ").value
ddr("联系地址")=e.Form.Controls("联系地址").value

End If

 

 

一点完确定按钮就出现如上的对话框!


图片点击可在新窗口打开查看此主题相关图片如下:提示.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2011/5/8 18:36:00
--  

建议你先温习一下编程基础这一章

 

If name="" Then

这个Name变量有定义吗?

 


ElseIf pass="" Then MessageBox.Show("请输入密码,密码必填!")

帮助中不是这样介绍的吧?应该是:

ElseIf pass="" Then

     MessageBox.Show("请输入密码,密码必填!")

 

还有: 

Case Is <>""

is变量定义了吗? is能作为变量名码? Case语句能用比较符号吗?

 

错误很多,所以我建议你先温习一下编程基础,掌握一下基本的语法。

心急吃不得热豆腐,帮助至少要看三遍,重点在编程基础和foxtable编程这两章。

[此贴子已经被作者于2011-5-8 18:38:49编辑过]

--  作者:yeyun
--  发布时间:2011/5/8 18:42:00
--  
哦,谢谢,因为之前有接触过一点VB的语句,所以。。。图片点击可在新窗口打开查看
--  作者:yeyun
--  发布时间:2011/5/8 18:54:00
--  

请问,为什么我改完代码了,还会出现提示格式错误啊?是日期那有问题吗?

Dim name=e.Form.Controls("用户名").value
Dim pass=e.Form.Controls("密码").value
Dim pass2=e.Form.Controls("密码确认").value
Dim zsname=e.Form.Controls("真实姓名").value
Dim id=e.Form.Controls("身份证号").value
Dim phone=e.Form.Controls("联系电话").value
Dim qq=e.Form.Controls("联系QQ").value
Dim email=e.Form.Controls("电子邮件").value
Dim adress=e.Form.Controls("联系地址").value
If name="" Then
 MessageBox.Show("请输入用户名,用户名必填!")
ElseIf pass="" Then
MessageBox.Show("请输入密码,密码必填!")
ElseIf pass2="" Then
 MessageBox.Show("请确认密码!")
ElseIf zsname="" Then
 messagebox.Show("请输入真实姓名,真实姓名必填!")
ElseIf id="" Then
 MessageBox.Show("请输入身份证号码!,身份证号必填!")
       If id.length <> 18 Then MessageBox.Show("输入身份证号无效!")
ElseIf ph" Or email="" Then
 MessageBox.Show("联系电话\\联系QQ\\电子邮件三项中,必须选择一项榶填写!")
Else      
Dim dr As DataRow= DataTables("用户登陆表").AddNew()
dr("用户名")=e.Form.Controls("用户名").VALUE
dr("密码")=e.Form.Controls("密码").VALUE
Dim ddr As DataRow=DataTables("用户信息表").AddNew()
ddr("用户名")=e.Form.Controls("用户名").value
ddr("真实姓名")=e.Form.Controls("真实姓名").value
ddr("身份证号")=e.Form.Controls("身份证号").value
ddr("出生日期")=ReadBirthDay(id)
ddr("年龄")=e.Form.Controls("年龄").value
ddr("联系电话")=e.Form.Controls("联系电话").value
ddr("联系QQ")=e.Form.Controls("联系QQ").value
ddr("联系地址")=e.Form.Controls("联系地址").value
End If


图片点击可在新窗口打开查看此主题相关图片如下:提示.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2011/5/8 19:15:00
--  

检查各列类型的类型是否正确,特别是检查某个日期列是不是被设置成整数列了。

搞不定就将你的文件传上来看看。