请问为什么我执行了下面一段代码
bianma1 为什么总是输出5 Dim connstr As String
Dim conn As ADODB.Connection
connstr = "provider=sqloledb;" & "data source=xiaodeng;" & "initial catalog=BookStoreForVB6;" & "password=;" & "user id=sa"
Set conn = New ADODB.Connection
conn.ConnectionString = connstr
conn.Open
Dim rs As ADODB.Recordset
Set rs = conn.Execute("select * from provider")
Dim data As String
data = ""
Do While Not rs.EOF
data = Val(bianma1)
rs.MoveNext
Loop
bianma1 = Str(data + 5)
bianma1 为什么总是输出5 Dim connstr As String
Dim conn As ADODB.Connection
connstr = "provider=sqloledb;" & "data source=xiaodeng;" & "initial catalog=BookStoreForVB6;" & "password=;" & "user id=sa"
Set conn = New ADODB.Connection
conn.ConnectionString = connstr
conn.Open
Dim rs As ADODB.Recordset
Set rs = conn.Execute("select * from provider")
Dim data As String
data = ""
Do While Not rs.EOF
data = Val(bianma1)
rs.MoveNext
Loop
bianma1 = Str(data + 5)
data = Val(bianma1)
bianma1 = Str(data + 5)val的取值方式,循环,直到你bianma1第一个非数字和0等的值
你的bianma1可能是字母开头
所以data是0
data+5自然是5
所以bianma1就是5
循环中也没见修改bianma1的值啊
如果val(bianma1)是0的话,那无论你怎么循环,最后Str(data + 5)的结果肯定是5啦