当前位置:编程学习 > VB >>

急!!!

Dim rst As adodb.Recordset
Set rst = New adodb.Recordset
rst.Open "select 当天的收入 from store where 用户名='" & frmLogin.Text1.Text & "' and 年份='"&Combo1.Text& "' and 月份='" & Combo1.Text & "'", gCnn, 1, 3

While rst.EOF = False
Dim a As Integer
a = a + rst.Fields(0).Value
rst.MoveNext
Wend
Text2.Text = a

这是一段调用数据库的数据进行简单计算的代码,但是运行时总出错,要怎样改呢?
--------------------编程问答-------------------- 什么位置出错? --------------------编程问答-------------------- do while not rst.eof 
dim a as integer
a = a + rst.Fields(0).Value 
rst.MoveNext 
loop
Text2.Text = a  --------------------编程问答-------------------- 还是不行 --------------------编程问答-------------------- dim放loop外部 --------------------编程问答-------------------- Dim a As Integer 
While rst.EOF = False 

a = a + rst.Fields(0).Value 
rst.MoveNext 
Wend  --------------------编程问答-------------------- try
Dim rst As adodb.Recordset
Set rst = New adodb.Recordset
rst.Open "select 当天的收入 from store where 用户名='" & frmLogin.Text1.Text & "' and 年份='" & Combo1.Text & "' and 月份='" & Combo1.Text & "'", gCnn, 1, 3

If rst.recordcount > 0 Then
    While rst.EOF = False
        Dim a As Integer
        
        a = a + rst.Fields(0).Value
        rst.MoveNext
    Wend
End If

Text2.Text = a
--------------------编程问答-------------------- 楼上的方法不对,和那个无关 --------------------编程问答-------------------- 可能是SQL语言错了吧 --------------------编程问答-------------------- "select 当天的收入 from store where 用户名='" & frmLogin.Text1.Text & "' and 年份='"&Combo1.Text& "' and 月份='" & Combo1.Text & "'"
你运行的时候,会有结果吗?
年份='"&Combo1.Text& "' and 月份='" & Combo1.Text & "'" 2个一样?
应该是 年份=‘“year(Combo1.Text)&"' and 月份='"&month(Combo1.Text)&"'

--------------------编程问答-------------------- 楼上的是一个问题,再一个,如果你给a赋个初始值就应该不会报错了.
还有就是写程序的习惯问题,因为是一小段代码,不知道还有没上下文,但最好在用完记录集之后关闭掉,否则在以后调用时,容易出错 --------------------编程问答-------------------- 什么错误嘛?又不说具体错误别人怎么给你解释?
至于9楼的个人认为不是问题重点因为如果其它正常即使没有数据也不会报错,除非数据格式不对。
顶 10楼的关闭记录集的意见
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,