急!!!
Dim rst As adodb.RecordsetSet 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--------------------编程问答-------------------- 楼上的方法不对,和那个无关 --------------------编程问答-------------------- 可能是SQL语言错了吧 --------------------编程问答-------------------- "select 当天的收入 from store where 用户名='" & frmLogin.Text1.Text & "' and 年份='"&Combo1.Text& "' and 月份='" & Combo1.Text & "'"
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
你运行的时候,会有结果吗?
年份='"&Combo1.Text& "' and 月份='" & Combo1.Text & "'" 2个一样?
应该是 年份=‘“year(Combo1.Text)&"' and 月份='"&month(Combo1.Text)&"'
--------------------编程问答-------------------- 楼上的是一个问题,再一个,如果你给a赋个初始值就应该不会报错了.
还有就是写程序的习惯问题,因为是一小段代码,不知道还有没上下文,但最好在用完记录集之后关闭掉,否则在以后调用时,容易出错 --------------------编程问答-------------------- 什么错误嘛?又不说具体错误别人怎么给你解释?
至于9楼的个人认为不是问题重点因为如果其它正常即使没有数据也不会报错,除非数据格式不对。
顶 10楼的关闭记录集的意见
补充:VB , 数据库(包含打印,安装,报表)