0

问题:我有一个名为的数据库admin,其中包含id,usernamepassword列。现在我需要把它放在一个名为特定用户名id的变量中。Dim ID

如果我运行此查询:

adoRS.Source = "SELECT * FROM admin WHERE username= '"& username &"' AND password ='"& password &"' "

我将在数据库中获得一个特定的行和一个特定的id. 所以,问题是如何id从上面的查询中检索它并将其放入名为的声明变量中ID

一种特殊的解决方案是使用while如下所示的循环:

 do
  col1 = adoRS.Fields("id")
  id = col1
  adoRS.MoveNext
Loop While Not adoRS.EOF

由于我们在变量中只有一条数据,因此如果我们可以跳过该过程col1会更好。do while所以问题是如何在id不使用while循环语句的情况下检索数据并将该数据放入变量中。

4

1 回答 1

1

使用 ADO 记录集时,如果您只需要该值,则只需获取该值即可。

ID = adoRS.Fields("ID").Value

如果 admin 表将有多个具有相同用户名和密码的行,您可能在其他地方遇到问题,但希望将您正在使用 ID 执行的任何操作发送到方法,或者加载所有 ID成一个数组。

如果有多个,getRows 方法也可能有用。

(而且,真的,如果您只想要 ID,则不应该执行 SELECT *。SELECT ID FROM Admin 应该可以正常工作。并在构建该 SQL 字符串时清理 USER 和 PASSWORD。考虑使用命令对象。不要存储密码,存储密码的哈希值。然后吃你的蔬菜。)

于 2013-05-14T23:47:13.560 回答