数据库
_赵丹丹
成功在于坚持
展开
-
数据库优化方案整理
前言最近面试中对于数据库优化问题问的也是比较多的,那么现在就将查到的资料整理跟大家分享。 正题 一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优,也不单单是开发阶段的事情,而是在整个软件生命周期都需要注意。所以我希望按照软件生命周期的不同阶段来总结数据库性能优化相关的注意事项。 一、 分析阶段 一般来说,在系统分析阶段往往有太多需要关注的地方,系统原创 2013-07-31 12:29:26 · 1609 阅读 · 10 评论 -
SQL Server2008——源代码管理错误
今天我在使用Sql Server2008打开数据表的时候出现了一个错误:“初始化Microsoft Visual SourceSafe源代码管理提供程序时失败。您无法使用次提供程序执行源代码管理操作” 之前出过一个类似的“您对无法重新创建的表进行了更改或者启用了“阻止保存要求重新创建表的更改”选项”的错误,于是去工具——>选项中查看,找到了解决方法:在“源代码管理”选原创 2011-04-20 10:59:00 · 1193 阅读 · 2 评论 -
学生管理系统之BUG(2)
BUG二:更新为已有记录时出错。原代码中是“先删除,再判断”。所以即使是修改为已有学号,则它是先删除该(要进行修改)记录,然后在判断是否有重复的学号,如果重复,则继续进行更改,可是再一次更改完成后单击更新时,需要更改的记录已经在上一次更新时删除了,因此这次删除的是一个空记录,故会产生错误!而改后的代码是“先判断,再删除”。因此在判断出有重复的学号时,则不进行删除,这原创 2010-08-03 01:52:00 · 925 阅读 · 0 评论 -
学生管理系统之BUG(3)
BUG三:原代码中的删除存在一个问题:当你删除最后一个后,它没有清除显示内容且没有提示,所以当你再单击删除时就会出现问题。我们对它的删除方法进行了修改,通过它的RecordCount属性来判断是否到了最后一条记录,如果删除最后一条后会进行提示,并卸载窗体。下面我们以frmModifysinfo中(在其他修改窗体中类似错误)删除问题为例:原代码:Pri原创 2010-08-04 02:04:00 · 800 阅读 · 0 评论 -
SQL Server数据库应用(2)
四、T-SQL程序设计基础 数据类型 系统 字符型 Unicode标准 nchar(n) nvarchar(n) 非Unicode标准 char(n) varchar(n) 整型原创 2010-08-11 18:18:00 · 622 阅读 · 0 评论 -
SQL Server数据库应用之(1)
一、SQL Server数据库简介 SQL Server 2000的版本 SQL Server 2000的新特性 在关系数据库方面的增强 图形管理增强 增强的联合数据库服务器 SQL Server工具和实用程序 企业管理器 服务管理器 查询分析器 事件探察器原创 2010-08-11 18:15:00 · 632 阅读 · 0 评论 -
机房收费系统之修改密码
窗体功能:修改用户密码(登录到该系统的用户) 步骤:1,判断输入的旧密码是否正确(是否为登录用户的密码,遍历用户表),若不是提示信息。2,判断新密码和确认密码是否一致(密码不能为空,若空则提示),不一致则提示。3,若修改成功后则将表中该用户的密码进行修改。该窗体的代码:'判断旧密码是否正确,并输入新密码 Private Sub cmdOk_Clic原创 2010-08-20 02:33:00 · 993 阅读 · 1 评论 -
机房收费系统之基本数据设定
窗体功能:设定收费的基本信息(如每小时费用以及最少金额等)。 步骤:1,该窗体比较简单,首先启动窗体后这些文本框都是被锁定的,只有在单击修改时才将他们解锁。2,该基本数据不能盲目的修改,应该根据最初的数据进行调整,对每个文本框的长度都进行了相应的限制。3,单击确定确认修改,并将修改结果写入到基本数据表中,供其他用户调用。4,单击取消则不修改,不写入表,并在文本框中原创 2010-08-20 03:36:00 · 1035 阅读 · 7 评论 -
机房管理系统之主窗体
主窗体功能:可以让卡号上下机,并记录其上机时间,及上机后的余额。 步骤:1,主窗体加载时首先判断登录到该系统的用户级别,并对菜单进行相应的设置(若为操作用户则,管理员的菜单不可见,若为一般用户,则操作员和管理员的菜单都不可见)然后将该值班老师的信息添加到正在值班教师表中。(在这里我将写表的过程独立了出来,在窗体加载时直接调用)2,对卡进行操作:首先判断原创 2010-08-20 07:34:00 · 1283 阅读 · 4 评论 -
机房收费系统之添加删除用户
窗体功能:添加,删除用户。 步骤:1,添加用户添加用户没有什么困难,主要是判断不让填入重复的用户名;添加完毕后显示列表要进行更新。2,删除用户删除用户首先要选中要删除的字段,在这里我用到了如下代码来完成只选择一行数据:'用鼠标选中MyFlexGrid中的项,使其只能选中一行 Private Sub MyFlexGrid_MouseDown(原创 2010-08-20 15:55:00 · 1017 阅读 · 1 评论 -
机房收费系统之上机状态查询
上机状态查询分两个窗体:查询和操作。功能:查询窗体跟前面讲的查询窗体一样是一个对字段不同条件的查询(针对对象是正在上机的卡信息);操作主要是对于正在上机的卡号进行强制下机(可让其全部下机,也可让某些人下机)。步骤:操作窗体:1,显示全部正在上机的卡号信息(若想选择性的显示,可进入上机状态查询窗体),这个功能很好实现(直接查找一下上机记录表中“上机状态”的卡号信息即可原创 2010-08-22 12:55:00 · 1324 阅读 · 6 评论 -
机房收费系统之条件查询窗体
这种窗体的功能:对某个表进行限定条件的查询。 步骤:1,转换字段名。窗体中的字段名是汉字,而我们数据表中的字段是英语单词,我在这里使用了数组来转换。(字段名的索引与我们数组的索引是相对应的)Title(0) = "Cardno" ’对于字段名的替换 Title(1) = "Name" Title(2) = "OnDate" Title原创 2010-08-22 02:51:00 · 783 阅读 · 0 评论 -
机房收费系统之退卡窗体
该窗体的功能:退卡,并修改有关该卡的信息表。 步骤:1,判断该卡是否已注册(通过在学生信息表中查找该卡号的信息),若未注册提示信息并退出。(此时不能退卡)2,判断该卡是否正在上机(通过在上机记录表中查找该卡号的上机状态),若正在上机则提示信息;若该卡没有上过机则不进行操作。(此时不能退卡)3,若满足条件则执行退卡,将该卡的退卡记录写入到退卡信息表中,然后显示该卡的退卡原创 2010-08-21 05:43:00 · 1121 阅读 · 1 评论 -
ORA-12541:TNS:无监听程序
我昨天重新安装Oracle后,用PL/SQL Developer连接oracle时出现ORA-12541:TNS:无监听程序的错误,如下图: 在王哥的帮助下,发现原来是oracle的监听没有启动,重启监听后就连接成功了,下面跟大家分享一下如何启动oracle的监听。1.打开Net Configuration Assistant 2.选择监听程序配置,下一步3.选择重原创 2011-12-29 11:36:30 · 6254 阅读 · 14 评论 -
设计数据库需要注意的地方
前言: 最近这一周多时间都在设计数据库,由于这次的项目使用了工作流,而我设计的主要是业务数据库,前两天老总对数据库进行了审核,提了几点建议,我觉得是设计数据库时需要注意的,跟大家分享一下。 正题: 1.基础表就是最基本的数据,是一个index;其他表要分“专题” 2.表要根据实际情况和实现方式添加一些“冗余字段”原创 2012-11-19 21:51:34 · 1262 阅读 · 2 评论 -
PD设置name与comment的相互复制
前言: 前两天设计数据库的时候,只是给name写了说明,却没有加注释,于是找到了PD的name与comment相互复制的代码,跟大家分享一下 正题: 使用说明: 在【Tools】-【Execute Commands】-【Edit/Run Script】 下。输入下面你要选择的语句即可,也可以保存起来,以便下次使用,后缀为.vbs。 需要注意的问题转载 2012-11-18 10:31:26 · 2379 阅读 · 1 评论 -
学生管理系统之BUG(7)
BUG六:修改成绩时只能修改分数。因为表之间是有相互的联系的,所以在添加成绩时就相当于添加了一个人的信息,而在修改成绩时(就像平常老师修改我们的成绩时,他们只能修改我们的分数,而不能连我们所在的班级,学号等一块修改)只能修改分数,(不然表之间的联系又会断掉)。BUG七:文本框长度应确定。因为在数据库的表中每一项都有一定的长度,所以在设置这些选项时应该对它的输入进行设置,原创 2010-08-07 02:24:00 · 881 阅读 · 0 评论 -
SQL Server数据库应用之(4)
十、管理索引 概念 可快速查找所需信息 索引是一个单独的,物理的数据库结构 索引依赖于表建立 作用 优点 通过建立唯一索引,可保证数据记录的唯一性 大大加快数据检索速度 加速表与表间的连接 缺点 占用储存空间 在表中插入原创 2010-08-11 18:59:00 · 654 阅读 · 0 评论 -
SQL Server数据库应用之(3)
六、表的管理 表操作 创建表 增加,删除和修改字段 创建,删除和修改约束 查看表格 约束 主键约束Primary Key 唯一性约束Unique 外键约束Foreign Key 创建数据库关系图(图表) Check约束 Null约束和D原创 2010-08-11 18:57:00 · 642 阅读 · 0 评论 -
机房收费系统之建表
做系统前建表很关键,如果你没有看到一些“隐藏”的字段,那么很可能在以后的操作中“牵一发而动全身”。这次我做系统就没有从全局上掌握好,结果把表修改的面目全非,现在终于做完了,也重新对表有了一个新的认识。我只讲一下那些表中连接字段(可以与其他表进行连接的)。用户信息表:用户名,用户级别 学生信息表:卡号,学号,教师,使用状态,结账状态,充值金额 充值信息表:卡号,充值金额,结账原创 2010-08-20 06:29:00 · 769 阅读 · 1 评论 -
机房收费系统之注册窗体
该窗体功能:注册新账号,或激活已注销的账号。 步骤:1,输入卡号后,在该卡号文本框的KeyPress事件中首先判断该卡号是否为已有卡号。 通过查找学生信息表中该卡号的信息,若有则表示该卡号存在;接下来判断该卡号信息的使用状态,若为“使用”,则提示信息并退出;若为“未使用”(表明该卡号被注销),则提示注册成功,并将该卡号的信息显示到该界面的各个框中,然后把该卡号的使用原创 2010-08-21 02:39:00 · 1106 阅读 · 1 评论 -
机房收费系统之充值窗体
该窗体功能:为卡充值金额,并对最新余额进行更新。 步骤:1,输入卡号后,判断该卡是否未注册或者已注销(通过学生信息表查询),若是则提示信息。2,输入充值金额后判断该金额是否小于基本数据表中的最少金额,若少于则提示不能充值。3,充值成功后将该卡号的充值信息添加到充值表中并在窗体中显示出来。4,在最新余额表中队该卡号的最新余额进行更新。窗体代码:Opt原创 2010-08-21 03:41:00 · 1082 阅读 · 0 评论 -
机房收费系统之范围查询
该类窗体功能:查询一定时间范围内的表信息,并将查询信息导出为Excel表。 步骤:1,该窗体用到的是DTPicker和MSFlexGrid控件,以及对Excel的调用。2,难点一:查询条件的填写:Do While Not (mrs.EOF) If ((DateDiff("d", mrs.Fields(5), DTPstart.Value)) > 0)原创 2010-08-22 05:52:00 · 724 阅读 · 0 评论 -
机房收费系统之查看窗体
相比之前的查询窗体,该类窗体更为简单,该类窗体只是对表进行查看。在这里我列出了两种不同类型的查看窗体:查看余额和查看正在值班教师 步骤:查看余额窗体:1,判断该卡号是否注册,若没有注册或已经注销则提示。2,遍历学生信息表查找该卡号的信息,并将其显示出来。3,余额要从最新余额表中获得(因为此时学生信息表中的余额很可能已经改变)。查看正在值班教师:原创 2010-08-22 07:53:00 · 759 阅读 · 0 评论 -
机房收费系统之结账
该窗体的作用:管理员对每个操作员的工作情况进行查看(查看她卖了几张卡,充值了多少钱,退了多少钱等等)。 该窗体的主要思路:1,遍历学生信息表(单击购卡选项时),充值信息表(单击充值选项时),退卡信息表(单击退卡选项时)中的该操作员和结账状态为“未结账”的金额。2,单击结账选项时写入结账表,并将前面三个表中的结账状态标记为“已结账”,然后在将这些文本框清除。SST原创 2010-08-23 03:57:00 · 921 阅读 · 1 评论 -
学生管理系统之BUG(5)
BUG 五:添加成绩时应有顺序 表与表之间是由那些连接字段连接在一起的,所以这些连接字段不仅不能随便输入,而且还得有一定的顺序。 比如在frmAddResult中,学号和课程内容是由班号来确定的,而姓名又是由学号来确定的。所以我们必须控制在没选班号之前学号和课程是不可以选择的,而姓名又是跟学号是绑在一起的,所以姓名不能随便更改(姓名被锁住),而分数必须是在这些信息都填完后(这才能准确的表示一个人)才可以填写。 原代码: 添加班号在Form_Load过程中 Priv原创 2010-08-06 02:16:00 · 1042 阅读 · 2 评论 -
学生管理系统之BUG(4)
BUG四:有提示框是产生死循环 在每次有提示框的部分总是会出现死循环,后来我发现是因为处理完之后没有跳出过程,即在后面加个Exit Sub即可。(因为sub中还有很多其他命令,所以在提示框后要跳出循环,避免跳不出来) 还有就是在修改过程中,如果没有记录,我们则需要添加(询问用户是否添加),于是我们将修改窗体隐藏,将添加窗体显示,但是添加成功后我们再去查看修改窗体时,则发现它没有及时更新,错误在于我把卸载窗体的位置放错了,大家请看: 错误代码: If mrs原创 2010-08-05 02:11:00 · 735 阅读 · 0 评论 -
学生管理系统之Bug(1)
前面我们看到了学生管理系统的整体框架及其表之间的联系,下面我们来看一下其中出现的错误: BUG一:组合框不可输入 表与表之间都是相互联系的,它们都是通过一个或几个字段进行连接的,因此这些用来连接的字段不能随便进行更改。(改后表与表间就联系不起来了) 下面我们以frmAddsinfo中的班号为例:班号应先判定是否有班号,不可直接输入,因为班号是由班级信息表中的班号确定的,不能随便更改。 源代码: Private Sub Form_Load() Dim mrc As原创 2010-08-02 14:38:00 · 1027 阅读 · 0 评论 -
实例与举一反三之比较(四)
<br />实例四:分页显示记录<br /><br />原例:使用DataGrid控件实现分页。<br /><br />举一反三(1):<br /><br /> 不同点:多了两个功能:前一记录和后一记录。<br /><br />本例:<br /> <br />Private Sub <br />Command1_Click()<br /> objDataSource.MovePrevious<br /> If objDataSource.BOF Then objDataSource.Mo原创 2010-07-27 13:13:00 · 659 阅读 · 0 评论 -
实例与举一反三之比较(三)
<br />实例三:使用数据绑定访问数据<br /><br />原例:使用ADO Data控件,文本框的DataSource为Adodc。<br /><br />举一反三(1):<br /><br /> 不同点:文本框的DataSource为objRs,且多了四个功能按钮。<br /><br />原例:<br /> <br /> Adodc1.Caption = "当前记录:" & Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Record原创 2010-07-27 13:04:00 · 960 阅读 · 0 评论 -
实例与举一反三之比较(二)
<br />实例2:使用ADO访问数据源(记录浏览窗口)<br /><br />举一反三(1):<br /> <br /> 不同点:打开方式不同。<br /> <br />原例:<br /> <br /> objCn.Open "DSN=实例2DSN" '建立数据库连接<br /> <br />本例:<br /><br /> strcn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "原创 2010-07-27 12:17:00 · 752 阅读 · 0 评论 -
实例与举一反三之比较(一)
<br />实例一:“系统登录”对话框<br /> <br />原例:在数据库中建立一个数据表用于保存系统用户登录信息,在设计登录对话框时通过查询该数据表完成验证。<br /> <br />举一反三(2):<br /> <br /> 不同点:增加了一个身份的判断,即在判断口令正确时,进而判断身份是否正确。<br /> <br />原例:<br /> <br /> If objRs.EOF Then<br /> Check_PassWord = 0 '没有查询结果,表示该原创 2010-07-27 12:02:00 · 724 阅读 · 0 评论 -
初学数据库
<br />这两天在敲数据库的代码,虽然对一些理论上的知识还不是很懂,先从它的三大对象说起吧:<br /><br />一,Connection对象——桥梁<br /><br /> 所谓数据库的代码,当然要用到数据库了,我们自己也建了数据库,那么就需要用我们的Connection对象来连接了,它就像一座桥,将我们的代码与数据库中的数据连接了起来。<br /> 要想用Connection对象,首先得设置其ConnectionString属性,我们知道可以用多种方法来进行连接,可是不管是什么方法都是在原创 2010-07-27 10:55:00 · 696 阅读 · 1 评论 -
机房收费系统之日结账单表
窗体目的:该窗体是用来查看每天所有卡内的金额信息(充值,注册,消费和退卡信息)。窗体功能:1,只查询当天的充值卡信息。2,查询全部的充值卡信息。3,查询一段时间内的充值卡信息。4,对每张表分别进行打印和预览。 思路一:在这里我用到了三张Grid++Report报表,对于该报表,我对其认识是:它有两种方法调用数据库中的表:通过模板和代码。原创 2010-08-23 12:58:00 · 1380 阅读 · 0 评论 -
机房收费系统之模块
我在该系统中用到了两个模块:执行Sql语句和写报表模块。 功能: 执行Sql语句: 该模块主要是可以对Delete, Update,Insert,Select等sql语句进行执行,并连接数据源。 该模块代码: Public Password As String '获得登录用户的密码 Public Username As String '获得登录用户的用户名 Public LeastMoney As Long '获得基本原创 2010-08-20 00:36:00 · 990 阅读 · 1 评论 -
DataGrid与MSFlexGrid的区别
<br />在分页显示记录中需要显示当前记录也数据,而显示记录页数据有两种方法:<br /> <br /> 方法一:使用DataGrid控件;DataGrid控件可显示记录集中的全部数据,所以不能直接将分页的记录集绑定到DataGrid控件,需要先将当前记录页中的记录复制到一个新的记录集中,再将其绑定到DataGrid控件,便可显示当前记录也数据。<br /> <br /> 方法二:使用MSFlexGrid控件;其可在设计时将其绑定到Data控件,在运行时,则可通过设置控件的TextMatr原创 2010-07-27 10:09:00 · 2321 阅读 · 3 评论