问题:我有一个名为admin
的数据库,其中包含id
,username
和password
列。现在,我需要将此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
变量中。
答案 0 :(得分:1)
使用ADO记录集时,如果您只想要该值,则可以抓取该值。
ID = adoRS.Fields("ID").Value
如果管理表将包含多个具有相同userName和Password的行,则您可能在其他地方遇到问题,但是希望将您正在使用ID执行的任何内容发送到方法,或者加载所有将ID分配到数组中。
如果有一些以上,getRows方法也可能有用。
(而且,实际上,如果你只想要ID,你就不应该做SELECT *。管理员的SELECT ID应该可以正常工作。当你构建那个SQL字符串时,清理USER和PASSWORD。考虑使用命令对象。不要存储密码,存储密码的哈希值。然后吃蔬菜。)