机房问题总结之改变select语句中的变量
2015-08-17 19:55
330 查看
【背景】
在敲机房的时候,总是要到数据库中查询信息、获取数据,每个模块里都要写老三句,代码显得很繁琐,然后就想着把查询语句写成函数,把查询的字段、表名等,写成变量,这样在其他的模块里就可以直接调用。
【注意】
传值和传址是函数参数传递的两种方式;
1、按地址传递(关键字ByRef):VB默认的数据传递方式 把实参变量的内存地址传递给被调过程(如Sub过程),即形参与实参使用相同的内存地址单元,这样通过过程就可以改变变量本身的值。 实参必须是变量,不能采用常量或表达式 。
2、按值传递(关键字ByVal):通过常量传递实际参数,即传递参数值而不是传递它的地址 因为通用过程不能访问实参的内存地址,因而在通用过程中对形参的任何操作都不会影响实参 。
【总结】
在敲机房的之前,虽然有学生做了铺垫,可是当自己真正的去实践的时候,有很多东西还是不一样的,有句话说得是:欠的总是要还的。之前VB学习的不细致的地方,在这里我们再一次学习、补充。知识,还是要经常回来看看。
在敲机房的时候,总是要到数据库中查询信息、获取数据,每个模块里都要写老三句,代码显得很繁琐,然后就想着把查询语句写成函数,把查询的字段、表名等,写成变量,这样在其他的模块里就可以直接调用。
</pre>【解决方案】 <pre name="code" class="vb">
'定义一个函数用来存放查询过程 Public Function query(ByVal X As String, ByVal Y As String) txtSQL = "select " & X & " from " & Y & " where userid='" & Combo1.Text & "'" Set mrc = ExecuteSQL(txtSQL, msgtext) End Function 下面是调用过程 '连接一般用户数据库,查看共注册了几张卡 X = "count(*)" Y = "student_Info" Call query(X, Y) Text1.Text = mrc.Fields(0) mrc.Close '连接一般用户的表,查看临时用户的钱 X = "sum(cash)" Y = "student_info" Call query(X, Y) Text4.Text = mrc.Fields(0) mrc.Close
【注意】
传值和传址是函数参数传递的两种方式;
1、按地址传递(关键字ByRef):VB默认的数据传递方式 把实参变量的内存地址传递给被调过程(如Sub过程),即形参与实参使用相同的内存地址单元,这样通过过程就可以改变变量本身的值。 实参必须是变量,不能采用常量或表达式 。
2、按值传递(关键字ByVal):通过常量传递实际参数,即传递参数值而不是传递它的地址 因为通用过程不能访问实参的内存地址,因而在通用过程中对形参的任何操作都不会影响实参 。
【总结】
在敲机房的之前,虽然有学生做了铺垫,可是当自己真正的去实践的时候,有很多东西还是不一样的,有句话说得是:欠的总是要还的。之前VB学习的不细致的地方,在这里我们再一次学习、补充。知识,还是要经常回来看看。
相关文章推荐
- 算法竞赛入门经典:第六章 数据结构基础 6.7层次遍历
- 浅谈AC自动机
- mongodb用户权限管理
- 最短路的解题方法区别
- STM32F407VGT芯片的操作之流水灯
- 塔奇克马的成长
- WebBrowser控件使用详解
- 算法竞赛入门经典:第六章 数据结构基础 6.6层次遍历
- ZOJ Team Formation
- find the safest road
- caffe卷积层代码阅读笔记
- 分块/莫队大法
- cakephp 如何在一个模型里调用另一个模型
- http代理和socket代理
- poj3101--Astronomy(分数的最小公倍数)
- Android开发过程中的问题及总结
- 算法竞赛入门经典:第六章 数据结构基础 6.5小球下落
- 记糊涂了,下次真的有必要脑补一下“id和name”在前台页面中的作用
- 基于OC的HTML解析4—获得指定标签的层次结构
- mongodb安装