织梦CMS - 轻松建站从此开始!

罗索

当前位置: 主页>杂项技术>VC(MFC)>

如何在VC中用ADO Call stored procedure,附一sp sample

罗索客 发布于 2001-11-03 20:40 点击:次 
The ADO Command Object to Call MostRecentOrder 1:void CADOMFC1View::OnCommandMostrecentorder() 2:{ 3:_CommandPtr pCommand; 4: 5:pCommand.CreateInstance(__uuidof( Command )); 6: 7:CADOMFC1Doc * pDoc; 8:pDoc = GetDocument(); 9: 10:try 11:{ 12:pCommand-
TAG:

The ADO Command Object to Call MostRecentOrder
1:  void CADOMFC1View::OnCommandMostrecentorder()
2:  {
3:    _CommandPtr pCommand;
4:
5:    pCommand.CreateInstance(__uuidof( Command ));
6:
7:    CADOMFC1Doc * pDoc;
8:    pDoc = GetDocument();
9:
10:    try
11:    {
12:      pCommand->ActiveConnection = pDoc->m_pConnection;
13:
14:      pCommand->CommandType = adCmdStoredProc;
15:
16:      pCommand->CommandText = _bstr_t("CustomerWithMostRecentOrder");
17:
18:      _variant_t vNull;
19:      vNull.vt = VT_ERROR;
20:      vNull.scode = DISP_E_PARAMNOTFOUND;
21:
22:      _RecordsetPtr pRS;
23:
24:      pRS = pCommand->Execute( &vNull, &vNull, adCmdUnknown );
25:
26:      if (!pRS->GetadoEOF())
27:      {
28:        CListCtrlEx& ctlList = (CListCtrlEx&) GetListCtrl();
29:        ctlList.DeleteAllItems();
30:        while(ctlList.DeleteColumn(0));
31:
32:        ctlList.AddColumn("  Customer Number  ",0);
33:        ctlList.AddColumn("  First Name  ",1);
34:        ctlList.AddColumn("  Last Name   ",2);
35:
36:        int i = 0;
37:        _variant_t vCustName;
38:        _variant_t vFirstName;
39:        _variant_t vLastName;
40:        while (!pRS->GetadoEOF())
41:        {
42:          vCustName = pRS->GetCollect(L"CustNumber");
43:          ctlList.AddItem(i,0,(_bstr_t) vCustName);
44:          vFirstName = pRS->GetCollect(L"CustFirstName");
45:          ctlList.AddItem(i,1,(_bstr_t) vFirstName);
46:          vLastName = pRS->GetCollect(L"CustLastName");
47:          ctlList.AddItem(i,2,(_bstr_t) vLastName);
48:          i++;
49:          pRS->MoveNext();
50:        }
51:      }
52:
53:      pRS->Close();
54:    }
55:    catch( _com_error &e )
56:    {
57:      TRACE( "Error:%08lx.\\n", e.Error());
58:      TRACE( "ErrorMessage:%s.\\n", e.ErrorMessage());
59:      TRACE( "Source:%s.\\n", (LPCTSTR) _bstr_t(e.Source()));
60:      TRACE( "Description:%s.\\n", (LPCTSTR) _bstr_t(e.Description()));
61:    }
62:    catch(...)
63:    {
64:      TRACE( "\\n*** Unhandled Exception ***\\n" );
65:    }
66:  }




The CustomersWithOrdersSinceDate Stored Procedure

1:  CREATE PROCEDURE CustomersWithOrdersSinceDate @param1 datetime AS
2:  SELECT Customers.*
3:  FROM Customers
4:  WHERE custnumber IN
5:  (
6:    SELECT Orders.customernumber
7:    FROM Orders
8:    WHERE OrderDate > @param1
9:  )

(jacky)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/200111/645.html]
本文出处: 作者:jacky
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容