在机房收费系统验收的过程中发现了很多问题。现在对所有遇到的问题汇总一下。

 

在对数据库中的表进行操作的时候,有很多注意事项,比如。

问题一:

注意字段的类型。

在进行数据保存的时候,常常会因为数据与数据表中的类型不对称而出现错误。出现如下的错误。

机房收费系统验收总结_数据库

 

这是因为,不同数据库类型之间的相互赋值引起的错误。

解决方法:把赋值的两个字段的类型改成相同的。

 

其实,你不需要纠结数据库字段的长度问题。当你设计好数据库,建好表的时候。你可以对文本框进行限定字段长度。

机房收费系统验收总结_客户端_02

 

文本框的最大输入长度,设置成字段的长度。这样就可以少些许多限定性的代码。

 

另外一种解决方法,就是在设计数据表的时候,将数据表中的字段长度设置成可变的。

 

问题二:

对于一个系统,要充分的为用户考虑。当用户输入错误的时候,不仅仅要显示一个提示框。而且,要指出错误的为止。

 

'判断该卡号 是否正在上机

If mrcOL.RecordCount<> 0 Then

    MsgBox "该卡号正在上机!", vbOKOnly +vbExclamation, "警告"

    txtCardNo.SetFocus

    txtCardNo.SetFocus

    txtCardNo.SelStart = 0

    txtCardNo.SelLength = Len(txtCardNo.Text)

    Exit Sub

End If

 

当操作完成之后:第一个用户点击上机后

机房收费系统验收总结_字段_03

 

对该文本进行选取,方便下一位学生输入。

问题三:

当对数据库进行删除操作的时候,首先要检查,该记录是否正在被使用。

 

比如:在机房收费系统中。进行退卡注销操作。首先,需要判断该卡号是否正在上机。如果正在上机,则不允许进行退卡操作。

 

问题四:

作为一个机房收费系统。客户端与服务器不在同一台电脑上。

既然这样,那么就有一个问题了。对于数据库中保存的数据  是服务器的日期时间,还是客户端的日期时间。

 

如果使用客户端的日期时间,那么每台客户端的程序时间不一致。也会有错误的记录。所以需要使用服务器的日期和时间。

 

以下是一种解决方法:

在创建数据库的时候,对于日期时间的字段  都要自动填充使用服务器的日期时间。

在创建数据表的时候,设置字段的 默认属性为 (getdate()) 默认为系统的 日期时间

机房收费系统验收总结_日期时间_04


也可以用SQL语句创建表

createtable Online_Info

(

namechar(10) not null,

datedate not null default getdate(),

timetime(7) not null default getdate(),

)

当对数据库进行添加纪录的时候:

Mrc.addnew

Mrc.fields(0)="姓名"

Mrc.update

Mrc.close

 

仅仅对第一个字段进行操作,日期和时间自动填充。这样程序的日期时间都采用了服务器端的日期时间。保证了数据的一致性。