请问在可以在recordset中进行统计查询吗?
首先根据用户所选的时间间隔,从数据库中筛选出了recordset,请问可以在这个记录集中进行统计查询吗?就是比如select count(a) from recordset之类的sql语句! 问题点数:0、回复次数:6Top
1 楼free_eyes(自由之眼)回复于 2003-05-03 10:03:28 得分 0
你可以使用recordset的recordcount属性,他就是你要的count()。
如果再复杂,建议你使用存储过程。这样能提高效率。Top
2 楼jimmychen1981(我努力我发达!)回复于 2003-05-03 10:15:06 得分 0
在这个recordset中有很多字段的信息需要进行统计,并不是简单的统计记录的个数,还有就是我不会用存储过程,请指教!Top
3 楼free_eyes(自由之眼)回复于 2003-05-03 10:21:54 得分 0
首先你是用的是SQLServer吗?如果是access好像还不支持存储过程。
如果是SQLserver,建议你好好看看SQL的帮助,有存储过程的实例,不难的,只要你会写SQL就没什么问题。然后是调用。
一个例子,传入三个参数"学生ID","考试科目","成绩"字段.做Insert动作.
Dim lcmwuqi As New ADODB.Command
On Error GoTo inerr
'If lcmwuqi Is Nothing Then
'Set lcmwuqi = New ADODB.command
With lcmwuqi
.ActiveConnection = conn
.CommandText = "p_NewStudentTest"
.CommandType = adCmdStoredProc
End With
'End If
lcmwuqi.Parameters.Append lcmwuqi.CreateParameter("学生ID", adInteger, adParamInput, 4, CInt(stuID))
lcmwuqi.Parameters.Append lcmwuqi.CreateParameter("考试科目", adVarChar, adParamInput, 30, tbTextName.Text)
lcmwuqi.Parameters.Append lcmwuqi.CreateParameter("成绩", adVarChar, adParamInput, 6, tbText.Text)
lcmwuqi.Execute
Top
4 楼chenlishu413(超級學生)回复于 2003-05-03 10:27:37 得分 0
當然可以啦.你可以使用adodb.command來獲得查詢結果
Dim a
dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
dim cmd As ADODB.Command
Set cn = New ADODB.Connection
cn.CursorLocation = adUseClient
cn.Open "provider=msdasql;driver={sql server};server=sr-shu;uid=sa;pwd=weixing;database=ff"
Set cmd = New ADODB.Command
cmd.ActiveConnection = cn
cmd.CommandType = adCmdText
cmd.CommandText = "select count(*) from people"
Set rs = cmd.Execute()
MsgBox rs(0).Value
快放分呀.
Top
5 楼chenlishu413(超級學生)回复于 2003-05-03 10:29:42 得分 0
不一定需要存儲過程一樣可以的.你可以在cmd.commandtext的值,根據自己需要輸入sql語句便可.Top
6 楼jimmychen1981(我努力我发达!)回复于 2003-05-03 10:54:25 得分 0
不好意思,我用的是access数据库,我想可能是不是应该建立一个临时表啊,因为我是想在recordset中的记录进行分字段的统计之后在放入一个新的rs,然后再将这个rs 中的数据送去打印Top




