vb中使用SQL SERVER存储过程

来源:百度知道 编辑:UC知道 时间:2024/05/17 23:35:08
以下为vb代码片段

Set cm = New ADODB.Command
Set cm.ActiveConnection = conn
cm.CommandType = 4
cm.CommandText = "getListPage"
cm.Parameters("@page") = 1
cm.Parameters("@pagesize") =20

cm.Execute
m_rowcount = CStr(cm.Parameters("@counts"))
m_pagecount = CLng(m_rowcount) \ m_pagesize + 1
Set rs = cm.Execute() '记录集
while not rs.eof
.
代码
.
rs.movenext
wend
上面程序可以返回m_rowcount值,问题是要执行两次cm.Execute

如改为:

Set cm = New ADODB.Command
Set cm.ActiveConnection = conn
cm.CommandType = 4
cm.CommandText = "getListPage"
cm.Parameters("@page") = 1
cm.Parameters("@pagesize") =20
Set rs = cm.Execute()
m_rowcount = CStr(cm.Parameters("@counts"))
m_pagecount = CLng(m_rowcount) \ m_pagesize + 1
while not rs.eof
.
代码
.
rs.movenext

m_rowcount = CStr(cm.Parameters("@counts"))

m_rowcount = rs.Count

-_-!! 我不懂VB啦,看你那么急,就帮帮忙~

定义一个function
public function execute(sql)
public cm
execute = cm.Execute(sql)
end function

Set cm = New ADODB.Command
Set cm.ActiveConnection = conn
cm.CommandType = 4
cm.CommandText = "getListPage"
cm.Parameters("@page") = 1
cm.Parameters("@pagesize") =20
Set rs = Execute(sqlstr)
m_rowcount = CStr(cm.Parameters("@counts"))