Bir ole db tüketici oluşturma

Bir ole db şablon tüketici üretmek için atl com AppWizard ve atl nesne Sihirbazı ' nı kullanabilirsiniz.

Bir ole db tüketici için bir atl proje oluşturmak için

  1. Dosya menüsünden Yeni'yiseçin. Yeni iletişim kutusu görüntülenir.

  2. atl com AppWizard Projeler sekmesinde seçin.

    Projeyi Projeler sekmesinde, sonra Tamam' ı tıklatın. atl com AppWizard görünür.

  3. Atl com AppWizard, proje türü seçin.

  4. Tamamlayın ve Tamam ' ı tıklatın.

Sonra atl nesne Sihirbazı'nı kullanın.

Atl nesne Sihirbazı'nı kullanmak için

  1. Ekle menüsünden Yeni atl nesnesiseçin. atl nesne Sihirbazı görüntülenir.

  2. Sol bölmede, Veri erişimiseçin. Sağ bölmede tüketici simge görünür.

  3. Tüketici simgesini seçin ve İleri' yi tıklatın. atl nesne Sihirbazı özellikleri iletişim kutusu görüntülenir.

Tüketici için özellikleri ayarlamak için atl nesne Sihirbazı'nı kullanın.

Atl nesne Sihirbazı'nı kullanarak tüketici özelliklerini ayarlamak için

  1. atl nesne Sihirbazı özellikleri iletişim kutusunda Veri kaynağı seç düğmesini tıklatın. Yeni veri bağlantısı oluştur iletişim kutusu görüntülenir.

  2. Yeni veri bağlantısı oluştur iletişim kutusunda, bir ole db sağlayıcısı ve dahil olmak üzere, uygun seçenekleri seçin:
    • Konumu ve veri kaynağı sağlayıcısı tarafından kullanılan veri.

    • Oturum açma kimliğini ve parolayı veri kaynağı için.

    Sağlayıcınızın ve diğer ayarları seçtikten sonra önceki iletişim kutusunda sayfalarda yapılan seçimleri doğrulamak için Sınama bağlantısı ' ı tıklatın. Sonuçlar kutusunda bildirirse PASSED , veri bağlantısı oluşturmak için Son'u tıklatın. Veritabanı Tablo Seç iletişim kutusu görüntülenir.

  3. Veritabanı Tablo Seç iletişim kutusunda, tablo, sorgu veya saklı yordam seçin ve Tamam' ı tıklatın için ağaç denetimi kullanın. atl nesne Sihirbazı özellikleri iletişim kutusuna dönmek.

  4. Kısa adı, sınıfı, erişenive adları iletişim kutusunu doldurur.H dosyası. Son dört kısa adını temel alır. Siz bu adları düzenleyebilirsiniz.

  5. Sihirbazın oluşturduğu bir CCommand-tüketici varsayılan olarak temel. Bir CTableisterseniz-tüketici, temel tablo düğmesini seçin.

  6. Değişiklik, eklemeve silme değiştirme, ekleme ve satır kümesi, kayıt silme, gerekirse desteklemek için seçin.

  7. Tamam ' ı tıklatın.

Sihirbaz jeneratörler, aşağıda bir erişimci sınıf ve örnek gösterildiği gibi bir komut (veya tablo) sınıfı çıktı. Komut sınıfı, veri kaynağı ve sihirbazda belirttiğiniz satır kümesi açmak için kullanılan kodu içerir. Seçili veritabanı tablosu için bir sütun göster erişeni sınıfı içerir.

// Product.H : Declaration of the CProduct class
#ifndef __PRODUCT_H_
#define __PRODUCT_H_
class CProductAccessor
{
public:
   LONG m_ProductID;   // Number automatically assigned to new product.
   TCHAR m_ProductName[41];   // Number automatically assigned to new product.
   LONG m_SupplierID;   // Same entry as in Suppliers table.
   LONG m_CategoryID;   // Same entry as in Categories table.
   TCHAR m_QuantityPerUnit[21];   // (e.g., 24-count case, 1-liter bottle).
   DB_NUMERIC m_UnitPrice;   // (e.g., 24-count case, 1-liter bottle).
   SHORT m_UnitsInStock;   // (e.g., 24-count case, 1-liter bottle).
   SHORT m_UnitsOnOrder;   // (e.g., 24-count case, 1-liter bottle).
   SHORT m_ReorderLevel;   // Minimum units to maintain in stock.
   VARIANT_BOOL m_Discontinued;   // Yes means item is no longer available.

BEGIN_COLUMN_MAP(CProductAccessor)
   COLUMN_ENTRY(1, m_ProductID)
   COLUMN_ENTRY(2, m_ProductName)
   COLUMN_ENTRY(3, m_SupplierID)
   COLUMN_ENTRY(4, m_CategoryID)
   COLUMN_ENTRY(5, m_QuantityPerUnit)
   COLUMN_ENTRY(6, m_UnitPrice)
   COLUMN_ENTRY(7, m_UnitsInStock)
   COLUMN_ENTRY(8, m_UnitsOnOrder)
   COLUMN_ENTRY(9, m_ReorderLevel)
   COLUMN_ENTRY_TYPE(10, DBTYPE_BOOL, m_Discontinued)
END_COLUMN_MAP()
DEFINE_COMMAND(CProductAccessor, _T(" \
   SELECT \
      ProductID, \
      ProductName, \
      SupplierID, \
      CategoryID, \
      QuantityPerUnit, \
      UnitPrice, \
      UnitsInStock, \
      UnitsOnOrder, \
      ReorderLevel, \
      Discontinued  \
      FROM Products"))};
class CProduct : public CCommand<CAccessor<CProductAccessor> >
{
public:
   HRESULT Open()
   {
      HRESULT      hr;
      hr = OpenDataSource();
      if (FAILED(hr))
         return hr;
      return OpenRowset();
   }
   HRESULT OpenDataSource()
   {
      HRESULT      hr;
      CDataSource db;
      CDBPropSet   dbinit(DBPROPSET_DBINIT);
      dbinit.AddProperty(DBPROP_INIT_DATASOURCE, OLESTR("OLE_DB_NWind_Jet"));
      dbinit.AddProperty(DBPROP_INIT_PROMPT, (short)4);
      dbinit.AddProperty(DBPROP_INIT_LCID, (long)1033);
      hr = db.Open(_T("MSDASQL"), &dbinit);
      if (FAILED(hr))
         return hr;
      return m_session.Open(db);
   }
   HRESULT OpenRowset()
   {
      // Set properties for open
      CDBPropSet   propset(DBPROPSET_ROWSET);
      propset.AddProperty(DBPROP_IRowsetChange, true);
      propset.AddProperty(DBPROP_UPDATABILITY, DBPROPVAL_UP_CHANGE);
      return CCommand<CAccessor<CProductAccessor> >::Open(m_session, NULL, &propset);
   }
   CSession   m_session;
};
#endif // __PRODUCT_H_

Ole db tüketici şablonları kullanarak yeniden

Index