我们的学习是i+1式的,一点点的学习,一点点的进步,不慌不忙,一步一个脚印,就像去年寒假的时候对vb进行了学习,接着就让我们自己动手去实现——九期提高班作品展中一个个小软件就是我收获的硕果,回忆起来我们的寒假过的是那么的充实,今年暑假也不例外,我们设计到的有对英语SB的学习,还有数据库的学习,看完了耿建玲老师的视频,敲完了5个实例还有相应的举一反三以后我们接触了学生管理系统,耿建玲老师的视频中理论较多些,我们再动手去实现一下,理解的就更透彻了。
拿到学生管理系统模版以后,先吧程序调通了,看看里边的功能,画了画里边的联系,就准备开始自己制作了,基本上我的每一个窗体都会遇到相应的问题 ,虽然针对一个窗体调通了,但是当我把所有的窗体都完成以后再运行起来就又出现了相应的问题,下面就是我遇到的问题中的三个问题。
1.登陆界面
这里遇到的问题是当我输入用户名和密码的时候,如果你输入正确的话能顺利的进入系统,但是如果一不小心输入错误的话,程序就会瘫了,这是为什么呢 ?大家帮我想想办法吧,谢谢了。
2.日期.(大意惹的祸)
开始我以为是代码错了呢,函数没用正确还是格式错了什么的,这是时间函数部分代码
If Not IsDate(txtBorndate.Text) Then
MsgBox "出生时间应输入日期格式(yyyy-mm-dd)!", vbOKOnly + vbExclamation, "警告"
txtBorndate.SetFocus
Else
txtBorndate = Format(txtBorndate, "yyyy-mm-dd")
If Not IsDate(txtRudate.Text) Then
MsgBox "入校日期应输入日期格式(yyyy-mm-dd)!", vbOKOnly + vbExclamation, "警告"
txtRudate.SetFocus
Else
txtRudate = Format(txtRudate, "yyyy-mm-dd")
txtSQL = "select*from student_Info"
Set mrc = ExecuteSQL(txtSQL, Msgtext)
mrc.AddNew
mrc.Fields(0) = Trim(txtSID.Text)
mrc.Fields(1) = Trim(txtName.Text)
mrc.Fields(2) = Trim(comboSex.Text)
mrc.Fields(3) = Trim(txtBorndate.Text)
mrc.Fields(4) = Trim(comboClassNo.Text)
mrc.Fields(5) = Trim(txtTel.Text)
mrc.Fields(6) = Trim(txtRudate.Text)
mrc.Fields(7) = Trim(txtAddress.Text)
mrc.Fields(8) = Trim(TxtComment.Text)
mrc.Update
MsgBox "添加学籍信息成功!", vbOKOnly + vbExclamation, "添加学籍信息"
mrc.Close
Me.Hide
End If
End If
看了代码,看了看我输入的数据也没有发现有错误,奇怪啊这是怎么回事呢?
代码没有错误添加信息的时候逻辑上出现问题了?我把出生日期写的比入校时间还晚,呵呵,就弹出了相应的错误,但是实在看不出来是哪句代码起的这个作用啊,看来设计的还是有漏洞啊,问了问加翰,才恍然大悟啊确实是输入的信息有问题,我输入了一个1345年这个不在datetime的范围中,所以提示错误
从数据库中看两个日期函数属于datetime类型的
而datetime是这样定义的,Datetime数据类型用于存储日期和时间的结合体,它可以存储从公元1753年1月1日零时起到公元8888年12月31时59分59秒之间的所有日期和时间。我输入的年份没在这个范围之中所以出错了,问题就是这么简单,但是当你大意的时候它总会让你吃不消。
解决问题的时候也了解了其它两个函数也是用于SQL Server 的使用过程中的,但是不常用,与大家分享一下留着以后用,
1> isnumeric(expression )
-- 返回值 1 | 0,判断是否是数字类型。数值类型包括(int、bigint、smallint、tinyint、numeric、money、smallmoney、float、decimal、real)
示例:
select * from tablename
where isnumeric(columnname)<> 1;
go
以上示例使用 isnumeric 返回所有非数值的数据行。
2> isdate( expression )
-- 如果 expression 是有效的 date、time 或 datetime 值,则返回 1;否则返回 0。示例:
if isdate('2009-05-12 10:19:41.177') = 1
print '有效的日期'
else
print '无效的日期'
上面的示例使用 isdate 测试某一字符串是否是有效的datetime。
3> patindex( '%pattern%' , expression )
-- 返回指定表达式中某模式第一次出现的起始位置;-- 如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。
'pattern' : 一个通配符字符串。pattern 之前和之后必须有 % 字符(搜索第一个或最后一个字符时除外)。expression : 通常为要在其中搜索指定模式的字符串数据类型列。示例:
select patindex('%BB%','AA_BB_CC_DD_AA_BB_CC_DD')
-- 返回:4上面示例返回的是第一个‘BB’的开始位置。
其实,使用 charindex 函数也能实现上面示例的查询,如下:
select charindex('BB','AA_BB_CC_DD_AA_BB_CC_DD')
--返回:4
patindex 函数与 charindex 函数的区别:selectpatindex('%[0-9][A-Z]%', 'AA_BB_9C_DD_AA_9F_CC_DD')
-- 返回:7
select charindex('%[0-9][A-Z]%','AA_BB_9C_DD_AA_9F_CC_DD')
-- 返回:0看出来没有?patindex 函数可以使用通配符,而charindex 函数不能。也就是说:patindex 函数功能更强大!
3.数据
当我添加了班级信息以后,马上去修改信息的时候,点击最后一条记录按钮的时候,出现的不是刚添加的信息。
因为我设置班号的是按升序排列的,所以正常情况应该是出现在最后一条才算对了,还以为是与数据库连接的问题呢,我理解的是数据库中原有的数据能在系统运行的时候显示出来,新添加的显示不出来呢,问了问双喆 说应该不是这个原因 ,因为代码中都有写数据集,然后数据就应该会更新的,然后我们又把系统打开看了看 原来人家能显示,就是没在最后一条记录那显示,数据库中是按升序排列的 我插入的数据按情理就是应该出现在最后一条的,接着我就把数据都删了,重新添加的数据,然后这一次就正常了,按我设置的升序排列的,应该是我之前添加的数据问题,乱了。
我出现的这几个问题算不上大问题,可以归结为疏忽大意,不缜密造成的,但是这些问题当你遇到的时候也会让你吃不消,所以在这里警告我自己,也希望大家以我为戒不要犯这类的错误。
分享到:
相关推荐
学生做为学校的最主要的管理对象,学生信息管理系统就成了学校信息化管理系统中中不可缺少的部分,它的内容对于学校的管理者说都至关重要。可以为学校提供合理的管理模式。 序是一个图形界面的java文档学生信息管理...
学生做为学校的最主要的管理对象,学生档案管理系统就成了学校信息化管理系统中中不可缺少的部分,它的内容对于学校的管理者说都至关重要。但一直以来人们使用传统人工的方式进行学生的档案管理,这种管理方式存在着...
SQL SERVER中中值问题分析与实现.pdf
时代网站信息管理系统SDCMS简介 SDCMS门户版主要包含:文章、组图、视频、下载、单页、外链等模块,系统内置会员模型:会员组,VIP会员,积分购买,会员投稿,投票,评论,留言,心情,搜索,标签,头像组件,在线...
台达通信行业中中低压配电系统pdf,通信行业中中低压配电系统为工业级用户提供专业的动力、视讯及自动化集成方案
物流管理系统的SQL数据库设计说明.doc
PortTalk ——window中中 XP/2000系统中IO端口操作工具 PortTalk ——window中中 XP/2000系统中IO端口操作工具 PortTalk ——window中中 XP/2000系统中IO端口操作工具
中中新闻采集器 新闻采集器
2020_2021学年高中地理课时分层作业1地球在宇宙中中图版必修1
关于辩论问题解析:如何在辩论与工作中中应用搜索引擎.pdf
关于数学分析的教材,有较多的例题和详尽的解答
课程设计报告 "题目 "实验设备管理系统 " "系别 "数学与计算机科学系 "班级 "11信管班 " " " "学号 " " " " " " " " " " " " " " " " " " " " " " "指导教师 "邓永江 "职称 "讲师 " 二 一二年 六 月 1.课程设计目的...
网络游戏-用于在基于协调器的无线网络中中继数据的系统和方法.zip
最普遍使用的手机用日语词典,收词量较大,支持日汉汉日查询,输入日语时支持罗马拼写转平假或片假名
内容索引:VC/C++源码,数据库应用,酒店管理系统 VC++酒店管理系统SQL版,使用了MSSQL存储过程,附有数据,还原数据库后请导入。...这款酒店管理系统功能来说属通用型酒店管理,满足中中型酒店的使用。
公共行政学笔记中中中.docx
对象池分级管理,可以创建对象池,缓存池,缓式加载。
在无线网络中,协作中继可以通过利用多样性来提高吞吐量。 为了减少信道增益的反馈量,提出了一种基于中继可行条件的半分布式方案。 每个中继节点可以测量其后向和前向信道增益。 如果两个信道增益均大于预定阈值,...
PPT中中括号展开的动画演示效果.docx
浅谈宽带薪酬方案中中值的确定.doc