IListManager::CreateFromSql Method [C++]

Use this method to create a list from a SQL query.

Definition

[C++]

HRESULT IListManager::CreateFromSql(BSTRlistName,
 BSTRlistDesc,
 longlFlags,
 longuserFlags,
 BSTRconnStr,
 BSTRqueryStr,
 longerrLimit,
 BOOL bAsync,
 VARIANT*pvarOpID,
 VARIANT*pvarID);

[Visual Basic]

Function CreateFromSql(listName As String,
 listDesc As String,
 lFlags As Long,
 userFlags As Long,
 connStr As String,
 queryStr As String,
 errLimit As Long,
 bAsync As Boolean,
 pvarOpID As Variant) As Variant

Parameters

  • listName[C++]
    [in] A BSTR that provides the name for the list.
  • listName[Visual Basic]
    A String that provides the name for the list.
  • listDesc[C++]
    [in] A BSTR that provides a description for the list.
  • listDesc[Visual Basic]
    A String that provides a description for the list.
  • lFlags[C++]
    [in] A long that specifies the bitmask flags that control the type of list created.
  • lFlags[Visual Basic]
    A Long that specifies the bitmask flags that control the type of list created.
  • userFlags[C++]
    [in] A long that contains application specific user flags. Not used by the ListManager object.
  • userFlags[Visual Basic]
    A Long that contains application specific user flags. Not used by the ListManager object.
  • connStr[C++]
    [in] A BSTR that contains the connection string for the SQL Server database.
  • connStr[Visual Basic]
    A String that contains the connection string for the SQL Server database.
  • queryStr[C++]
    [in] A BSTR that contains the SQL query for retrieving the contents of the new list.
  • queryStr[Visual Basic]
    A String that contains the SQL query for retrieving the contents of the new list.
  • errLimit[C++]
    [in] A long that is not used.
  • errLimit[Visual Basic]
    A Long that is not used.
  • bAsync[C++]
    [in] A BOOL that specifies whether the creation operation is performed synchronously or asynchronously. A value of True indicates asynchronous processing.
  • bAsync[Visual Basic]
    A Boolean that specifies whether the creation operation is performed synchronously or asynchronously. A value of True indicates asynchronous processing.
  • pvarOpID[C++]
    [out, optional] A pointer to a VARIANT used to return an Operation ID.
  • pvarOpID[Visual Basic]
    An optional Variant used to return an Operation ID.
  • pvarID[C++]
    [out, retval] A pointer to a VARIANT used to return the ID of the new list.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the ID of the new list.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant Value Description
E_LM_CONNECTIONFAILED [C++] 0x8C400001

[Visual Basic] &H8C400001

Failed to establish database connection.
E_LM_INVALID_FLAGS [C++] 0x8C400005

[Visual Basic] &H8C400005

Invalid flags value.
E_LM_LIST_ALREADY_EXISTS [C++] 0x8C400007

[Visual Basic] &H8C400007

The specified list has already been created.
E_LM_MAILABLE_LIST_NO_EMAILS [C++] 0x8C40000D

[Visual Basic] &H8C40000D

The list is designated as a Mailable list but does not contain an rcp_email column.
E_LM_OPER_CANCELED [C++] 0x8C40000B

[Visual Basic] &H8C40000B

The operation was canceled.
E_LM_SQLERROR [C++] 0x8C400003

[Visual Basic] &H8C400003

Error while executing SQL/ADO operation.
E_LM_USER_LIST_NO_GUIDS [C++] 0x8C40000E

[Visual Basic] &H8C40000E

The list is designated as a User list but does not contain an rcp_guid column.
OLE_E_BLANK [C++] 0x80040007

[Visual Basic] &H80040007

The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method has been rewritten for Commerce Server 2002 Service Pack 1 to increase accuracy. This change may result in decreased performance due to the rewriting of the method.

For a list of possible values for the lflags parameter, see the GetListFlags method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vListID is a Variant
vListID = oListManager.CreateFromSql("LegalTequillaBuyers", _
 "Tequilla buyers at least 21", 20, 0, "Provider=sqloledb;" & _
 "Data Source=TequillaServer;Initial Catalog=Margaritas;" & _
 "Integrated Security='SSPI'", "SELECT * FROM dbname.dbo.Tequilla " & _
 "WHERE Age >= 21", 10, False)

See Also

[C++]ListManager Object

[Visual Basic]ListManager Object

[C++]IListManager::GetListFlags

[Visual Basic]ListManager.GetListFlags

Copyright © 2005 Microsoft Corporation.
All rights reserved.