VB6.0数据库开发之实例5总结
到今天为止,终于敲完红皮书中的第5个例子。这个例子敲的最长,特对此例子进行一下总结。实例5是“数据查询”。数据查询是一般的数据库管理系统的基本功能之一,用于从数据检索符合条件的数据。
先来上张图:
一、原理分析
本例使用ADO Command对象创建参数查询,并用MSFlexGrid显示查询结果。因为Command对象查询返回的是行值非记录集。行值不支持标签,因此不能将其作为数据绑定的数据源。显示查询结果常用MSFlexGrid控件,通过代码将数据填充至控件中进行显示。
二、技术要领
1. Command
1) 创建对象创建Command对象使用?作为Select语句中的查询参数举例:
四、代码过程
具体代码就不写在此了,只列出思路。
1. Form_Load建立数据库连接创建Command对象objCmd为ojbCmd创建参数
2. cmdQuery_Click设置查询参数执行查询显示结果列名行值记录条数
3. Form_Unload关闭数据库连接释放对象
五、所遇问题
1.自己马虎产生的问题:
1) 数据源字符串中少写了“Provider=”出现如下错误:
2) 为Command对象objCmd创建参数的代码里,名为“身份”的参数对象写成了和另一个参数对象“用户名”同名了。代码如下:
大意失荆州,细节决定成败,然也。做为自己的一个警钟,以后多加注意!
2.系统缺陷
1) 输入查询信息,点查询按钮,显示结果从第三行开始,而不是第二行。如图:
解决方法:MSFlexGrid的Rows的属性默认为2,在属性窗口中将属性值改为1即可解决。因此改为n,从n+1行开始显示。(注意:不能改为0,否则点查询时,会产生如下错误提示:)
2) 当继续点查询按键时,新数据会在原先显示的数据之后显示;……。共点击4次的效果图如下:
解决方法:在查询过程中,先设置MSFlexGrid1.Rows = 1。同时上面的那个问题也能解决。(之前,也用过Clear方法,虽然表里的数据会被清除,但表格不会被删除,即在原来空表格的下面继续显示。点击了4次的效果图如下:)
六、心得总结
千言万语,总之一句话:千淘万漉虽辛苦,吹尽狂沙始到金。话可能过,但理是真的。
- 9楼liutengteng130昨天 19:11
- 支持,加油。
- Re: zhanglianhai5554小时前
- 回复liutengteng130n谢谢!加油!
- 8楼caozhangyingfei0109昨天 17:47
- 很好哦,等到敲到举一反三,希望能够更加融会贯通
- 7楼cjr15233661143昨天 17:47
- 细
- 6楼xvshu昨天 17:46
- 加油!加油!加油!
- Re: zhanglianhai555昨天 17:47
- 回复xvshun一定!一定!一定!
- 5楼ggibenben1314昨天 17:41
- 哇,不错呦
- Re: zhanglianhai555昨天 17:46
- 回复ggibenben1314n就是!!我也这么认为的!!
- 4楼hejingyuan6昨天 11:48
- 真不错,顶一个
- Re: zhanglianhai555昨天 14:52
- 回复hejingyuan6n谢谢夸奖!
- 3楼bonlog昨天 10:35
- 为了孩子,请一定好好学习工作;顶二下。
- Re: zhanglianhai555昨天 10:48
- 回复bonlogn借您吉言
- 2楼leihengxin昨天 09:51
- 顶一下。
- Re: zhanglianhai555昨天 09:51
- 回复leihengxinn非常感谢!!!
- 1楼liujiahan629629昨天 09:13
- 真认真,加油!
- Re: zhanglianhai555昨天 09:26
- 回复liujiahan629629n加油加油!