机房问题总结之改变select语句中的变量

来源:互联网 发布:网页游戏优化器 编辑:程序博客网 时间:2024/06/05 14:40
【背景】

        在敲机房的时候,总是要到数据库中查询信息、获取数据,每个模块里都要写老三句,代码显得很繁琐,然后就想着把查询语句写成函数,把查询的字段、表名等,写成变量,这样在其他的模块里就可以直接调用。

</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学习的不细致的地方,在这里我们再一次学习、补充。知识,还是要经常回来看看。

0 0