首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

请高人解释上代码什么意思

2012-12-21 
请高人解释下代码什么意思Function ChaZhao(Tbm, Tj, Tfh) 查找函数(表名,条件,返回字段名)Dim dbs As DA

请高人解释下代码什么意思
Function ChaZhao(Tbm, Tj, Tfh) '查找函数(表名,条件,返回字段名)
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Dim sql1
'On Error GoTo Err1
Set dbs = CurrentDb
sql1 = "select * from " & Tbm & " where " & Tj
Set rst = dbs.OpenRecordset(sql1)
If rst.EOF Then
 ChaZhao = Null
Else
 ChaZhao = rst.Fields(Tfh)
End If
rst.Close
dbs.Close
Set rst = Nothing
Set dbs = Nothing
Exit Function
Err1:
 MsgBox "Error #: " & Err.Number & vbCrLf & vbCrLf & Err.Description
End Function

[解决办法]
该回复于2012-08-23 08:27:56被版主删除
[解决办法]
其实里面的注释已经写了:这个方法的功能是从给定的表中(tbm - 表名)查找满足指定条件(Tj - SQL 语句中Where子句部分不包含Where)的记录,返回找到的第一条记录的指定字段(tfh - 字段名),如果没有满足条件的记录则返回Null。其中出现错误时均弹出对话框显示错误内容(MsgBox)。

似乎是比较老的东东了,还是DAO呢,其中还是有潜在问题的:
1. 在拼接SQL语句,直接使用了传入的参数,如果参数的来源没有保证则存在注入攻击的危险
2. 如果仅仅是为了获取满足条件的第一条记录的某个字段的话,可以更改的更有效些(不记得DAO中有没有对应方法了)
[解决办法]
该回复于2012-08-24 08:34:27被版主删除
[解决办法]
该回复于2012-08-24 08:34:27被版主删除

热点排行